If you designed something to last for 90 days and it lasts for 4000 you've over-engineered the solution. Time and money could clearly have been saved in the development and construction of the rover.
Now in this case, the fact that it has lasted far beyond its intended life has been a positive think. However, in much of the other work NASA does it is simply wasting money. NASA has a problem delivering projects on budget because it's focusing too much on reliability and safety and trying too hard to account for every eventuality. They're also too scared of failure and bad press.
Should they have spent time and energy making it last less long? You have no idea why it's lasted as long as it has. You have no idea if it was over-engineered, or just built well with the most appropriate components and technologies available. Millions of dollars were spent just to get the rover to Mars. If it failed do to being under-engineered, THAT would be a complete waste. Seriously, explain to me what parts should be engineered to fail in exactly 90 days? How much time should be spent creating solar panels that fail sooner? Should they make intentionally bad welds?
I remember John Carmack saying he thinks SpaceX should be destroying more rockets. Instead of trying to make a rocket that's 100% guaranteed to work (as NASA would) they should make a good enough solution and work out the problems by having some of them fail. After destroying a few the issues will be worked out and you'll have a working rocket in the time it would take NASA to complete a paper study for the rocket design.
It was probably the Challenger incident that destroyed NASA. Since then they've developed a culture of, "no matter how much this costs or how long it takes it can't be allowed to fail." You'll never achieve your big goals with an attitude like that.
John Carmack's a smart guy, way smarter than I am. Of course his rocket company failed. He was building small sounding rockets and he failed. There's nothing wrong with failing, that's part of life. On the other hand SpaceX is succeeding. They are delivering satellites to LEO, GTO and even one BEO. They are delivering cargo to the ISS. They are testing the abort system on a crew capsule that will be used to transport astronauts. I think SpaceX knows how to build real rockets better than John Carmack does...
On that note, SpaceX is totally willing to loose rockets in experiments. What they aren't willing to do is knowingly risk loosing a rocket prior to completing the mission. It's important to know when to take risks. If you spent $200 million to get a rover to Mars (made up, but realistic number), it's not a waste to spend a few bucks to make sure it will work when it gets there. And if you're building a rocket to put people and $500 million satellites into orbit, it's important not to kill the passengers or destroy the satellites.