MSRP is manufacturer suggested retail price. Dealer can set it's own price however he pleases to. On top of that you pay sales tax (where aplicable) and title/registration fees. That's all good. What pissed me off yesterday is that the dealer tried to hit me with almost $1000 of different fees (like prep/detailing fee or fuel surcharge, as Mazda apparently forces them to deliver car with full tank) nobody cared to mention up to the point when we started signing papers. I almost walked away at that point.
You should have walked away at that point. If not, you just agreed to hand them an extra $1000 for nothing. Dealing with the internet sales manager of several dealerships will probably get you close to invoice pricing and the dealer you choose to go with won't add on $1000 extra as you would just go to the next one on your list.