Here's why this is a bad idea:
First, for at least the short term, checking in will take longer as people argue with the agents about the fee. Plus, there will be confusion about who pays the fee and who doesn't. Sure, they lay it out pretty clearly on their web site, but do we really expect all their front line agents to know all the details? And we know customers don't read.
Second, it will make security lines longer as more people who might have otherwise checked a bag now try to bring it through as a carry on to avoid paying the fee. People like me who would check through their liquid stuff will now have to have it as one more thing to pull out of the back and place in a separate bin along with my shoes, laptop, and sweater/coat.
Third, boarding will take longer while people try to find room for all that stuff they didn't check. People trying to stuff it in the overhead bin, figure out how to get it under their seat, and finally having to check it through anyway.
The ultra-low-cost carriers like Ryanair, Allegiant, and the late, unmissed Skybus can get away with this because their fares are so low that I actually buy the argument that they're simply operating on an a la carte model where you pay for the services you want. I have a harder time buying that argument from American, where we won't be seeing the fares going down (and most people won't notice if they keep the fares lower by doing this in lieu of simply raising fares) and their fares aren't and won't be substantially different from their competitors.