Bargaining, when done properly, is a lot of fun. And you can get yourself bargains you couldn't dream of in fixed price institutions at home. It becomes a game, and if you do well, you get prizes at the end.
Now, bargaining is a huge concept that many full books have been written on. There are many many different techniques on bargaining that are all quite valid (and some that aren't). For this post, I'm just going to share a few principles specific to travelers, who are almost always in the buyer position, trying to buy stuff you buy on the road, like bus tickets, room rates, or just little gifts for friends back home.
First up, we'll talk about the advantages and disadvantages for the buyer and seller. The seller is always the one who needs the deal to go through. Without selling, the seller has no job. It's usually in the seller's interest to close a deal as quickly as possible, because that way s/he can sell more deals in the day, and get something closer to the original asking price. The key advantage the seller has over the buyer is that the seller knows the exact worth of what s/he's selling. No merchant on the ground will ever sell at a loss, so no matter how much they mope, don't feel bad about it, they are making money off your purchase. The main disadvantage is that the seller can't control when bargaining ends-- the buyer can walk out any time.
As the buyer, the seller's disadvantage becomes your advantage. Bargaining will never end until you end it, either by accepting an offer, or making an offer you're willing to pay that the seller accepts. You may get stuck on a price, but the decision to either buy or walk away is always yours. The disadvantage you have is that you usually don't know the actual worth of what you're shopping for. If you can change that, you will be in a much stronger bargaining position. Find out how much you *should* pay for something and gun for that target price. Keep in mind that guidebooks are mediocre resource for these things, especially the price of lodging and transport. Much better is asking some local person who isn't trying to sell you anything (or who has already sold you something completely different and can't sell you what you're asking about).
Next principle is middle men and touts. This lesson is easy: avoid these people like the plague. Actually, that's not strictly true, on rare occasions these people can be a good source of information, but in general, you want to avoid middle men at all costs for the simple reason that no middle men would be middle men unless they make money doing it. If you buy a Colombian bus ticket from the guys running around the entrance yelling "Where you go my friend?!" You're paying his salary, probably a friend's salary, the people behind the ticket counter, and the driver. If you go to the counter, you're just paying the counter and the driver. If you're good (depending on the country), you can sometimes get around them all and haggle directly with the driver. The fewer people you have to pay, the less you'll have to pay total.
Next is subtlety. If you ask a seller for a price out loud, in front of other customers, he'll probably turn you down. The reason being that while he might sell one item at that price, he won't want to sell to everyone at that price. This gives us the modern international symbol for bargaining: the calculator. From Bangkok to Bogotá, this little device showing up is how you know a price is open to bargaining. When you ask how much, the seller will think for a moment, punch something into a calculator and hand it to you. That's his first offer. From then on out, no numbers should be said out loud. Make any counteroffer by punching it in and handing it back. That way the offers stay private (though feel free to quietly tell your friends after so they know what they should aim for, price-wise).
If you're going for an item in a shop, don't walk right up to it and stare at it. Sellers watch for this, and know that you really want it and will probably pay more. Browse a few other things first. Ask about them, ask about the prices of several things. Feign disinterest and point out defects. Basically make the seller think (s)he really needs to convince you.
This is more personal style, but I always make the seller make the first and second offers. After the first offer, I usually either nod slowly or fake disbelief (depending on what makes more sense in the local culture), thank them, and start to leave. 99% of the time I will be stopped at this point by the seller, who will say something that usually involves the phrase "special price." I pause, look conflicted, and ask what their "real offer" is, refusing to make one of my own, casually starting to leave again if they balk. Once I have a second offer, and if I think I'm going to buy, then I'll make one of my own offer, a good deal less than my target price. The seller will then laugh, call me crazy, etc. I challenge them for another offer, and the haggling begins. It might seem harsh, but it's all part of the game, and they know that. If you get stuck on a price you don't like, don't be afraid to leave, even if you feel like you've struck up a friendship or started a precedent. Time is on your side, and the bargaining won't end until you decide you want it to.
Also, most sellers will be quick to tell you this themselves, but if you buy many items (or even just two) you can get a better price on each one. But keep in mind how much you're spending total, and whether it's what you wanted to spend in the beginning.
This is just a start. A few other things you can try are playing multiple sellers off against each other, recruiting a friend and playing the good cop/bad cop routine to your advantage, and haggling down a bigger item before changing your mind and asking about the smaller or less expensive one (for an even better price). All of these tricks and more can get you some great deals.
Two last things to leave you with. Don't get too caught up in getting a lower price. Keep how much the local currency is worth in mind and ask yourself if it's really worth holding out over. 5,000 Vietnamese dong more than you offered may sound like a lot, but it's actually about US$0.25. Chances are you can afford that more easily than the person you're buying from. And don't lose your cool. If you're getting angry, walk away from the bargaining and cool off. You'll offend people, and you won't get the deal you want. This is supposed to be fun, they're not all out to gouge you, and insulting people helps nothing. Keep the tone around the same as a friendly arm wrestling match, maybe they'll throw some taunts or jibes here and there, but it's all still a game you could shake hands and smile after. Good luck!