I'm a software dev so I don't really have a need for Excel, but from what I've seen/heard from my friends in business and accounting, Excel is unparalleled in the spreadsheet game. Especially when it comes to advanced features like macros and forumlas.
As much as I hate the rest of Office, I have to agree that Excel is way ahead of any other spreadsheet software I've ever used. That's not to say it couldn't be dislodged by something better - there's definitely a niche without a decent solution somewhere between an Excel sheet loaded with convoluted VLOOKUPs and a writing something custom with an SQL interface to a database.
I'd bet you could find a huge market for something with an interface like Excel but easily able to consistently parse/transform/create new tables.
Excel gives non-programmers a Swiss Army Knife for dealing with numbers and/or lists. It's not as math as Mathmatica or Mathcad, it's not as databasey as SQL but for most people it's more than enough. It's enough for most people most of the time.
Need to build a massive batch script to delete a load of specific files? You can use Excel and "concatenate" to build your batch file.
Need to make a contacts list for your grandma, with clickable hyperlinks for Skype? Excel has you covered.
Need to work out the expected electricity bill from the meter reading and the tariff listed on the website, then work out how much each person in the household should contribute? Excel will do just fine.
Stock list? Piece of piss.
You can even make a pie chart that looks like Pacman.
While it's often not the best tool for the job, it's often the most flexible tool that's easy to use that will get the job done. I've just taught an 86-year-old lady how to use spreadsheets, covering basic formulas, advanced filtering and searching etc. It's intuitive and provides a good return for the learning curve.
gnumeric is excellent. ive seen far to many people trying to use a spreadsheet like a general document processor. just use a spreadsheet for what it's good at doing: operating on columns (or rows) of numbers!