The short answer is: it depends.
The longer answer is that balance transfers are tricky, and often a bait-and-switch; they'll offer 0% interest, but charge a 3-4% "fee" (which isn't interest and is perfectly legal) on the amount transferred. If you transfer $5000, you now owe the new card company $5,200. Now, that could be fine with you; at an 18-20% APR on your old card you may have been charged that much in just one or two months, and by capitalizing this fee up front you lock in 0% for a year.
However, there are other possible machinations behind the scenes. For instance, you may incur retroactive interest on the full balance if not paid off in the year (at 20% APR on $5000, that's an extra grand you will owe if there's even one dollar of the original transferred balance left in the account). Paying off the balance and thus avoiding these penalties has actually been made harder by the CARD Act, which required creditors to apply any payment made to the highest-interest portion of the balance first. As balance transfers are 0% they are the last on the list, so if you transfer a balance and then carry an additional balance you are setting yourself up for failure. You MUST have a zero-dollar balance for one month sometime during the year in order to be sure the balance transfer is paid off and no penalties will be incurred.
That can be hard, because 5 grand is a lot to pay off. To pay off a $5000 balance in 12 months requires payments of $417. Miss one and you'll have to make it up over the remaining months. If you transferred a balance, you probably didn't have $420/mo to pay to the card in the first place.
In summary, balance transfers can work, but you have to understand all of the terms and conditions, and what will happen should you violate any of them. If you don't understand what you're getting into, you could very well end up worse than you started.