As Gnomey hit on, it's all about the business plan. When you see the cheap domains for $3-$5 it generally means that these companies are banking on you purchasing other services from them such as a hosting or email. The general market for your major TLD names is about $8-$10 or perhaps a little more.
If places are charging more, it's pretty much as blunt as blue put it. In a nutshell, they're charging an exorbitant amount of money for those who don't know better. It really doesn't mean their service is any better or they offer special features (though there are a lot of domain sites that do tack on money for certain features). Basically they are selling off of reputation for a "better" product or "better" support.