My wife and I managed to get a nice 'pit' in our mattress, after only 3 years of ownership. We've had it on a boxspring, directly on the carpeted floor. It's sagged enough that we can feel springs popping and crunching as we move around now. We're talking about replacing it with a firmer mattress, but I'm wondering if we should be using a bedframe with the boxspring?
A bed frame is at best going to support the box-spring around the edges (perhaps even somewhere in the middle if there is an extra cross member).
If the box spring is on the floor (or a platform bed), then it's supported everywhere. Which in my opinion is better for the mattress. Of course, your wife may dislike the look of it on the floor.
I'd chock it up to either having a very fun 3 years, or poor quality mattress.