If you visit any tourist cities in Mexico or ones that ex pats have settled in large numbers, you will find prices much higher than "real" Mexican towns. The Gringo's screw up the economy when they are willing to pay stupid prices for everything.
You can pretty much judge the cost of living in a Mexican town by the price of beer. If it's $1.00 or less, it's probably a good place to live economically, if beer is $3.00 there are too many Gringos there and prices for rent, food and booze will likely be high. I know this is just a generalization but it seems true in many places.
Having said that, I tip based on service and quality of meals but don't go nuts. I agree with MEXICOWANDERER and I always tip our maid upon arrival and leave pesos for her every week. It's amazing how things magically appear when we are out. A table cloth, table and chairs on the balcony, extra towels and lots of toilet paper LOL. Gifts are also an excellent way to show your appreciation for being well treated.
When it comes to buying things I will bargain if the price is higher than what I have seen elsewhere. You have to do a little research and know what is a fair price. I think the smaller the town and less tourists, the fewer haggling people will do. If I see an item priced fairly, I will pay that price and not try to beat them up for a few pesos. It it's priced too high, I may bargain or just pass it by.