There's usually a fee for a balance transfer. So while it may be "interest free", it's not "cost free". If, say, the fee is 10%, you have to compare 10% of the amount transferred to what you would pay in interest over the time when it is interest free.
The biggest catches may be more psychological. You move this debt to the interest free card, and then you say to yourself, "Well, now I have all this extra credit available! Now I can afford to go out and buy this expensive toy that I just can't live without." And then you run up even more debt.
Another catch is that you may say to yourself, "It's interest free for 12 months (or whatever time period), so I'll get it paid off within that 12 months and never have to pay any interest on it." But then you don't get it paid off, the grace period runs out, and now the interest rate jumps.
Not to say that such balance transfers are necessarily a bad idea. But make sure that you're really transferring debt from 20% interest to 0% interest, and not transferring debt from 20% interest to 25% interest (once the grace period runs out), or transferring debt from 20% interest to 0% interest and then running up more debt at 20%, etc.
My bank recently offered a home equity loan at 3.5% for the first year, then going up to 9%. No upfront costs. I recently married and my wife had a debt at 14%. I transferred that debt to the home equity loan, so the first year we'll save 10.5%, and after that we'll still be saving 5%. And I'm paying it off as fast as I can, at the present rate I'll have it paid off in about 1 1/2 years. Similar situation to what you're describing. I think it's working out for us.
So not saying don't do this sort of thing, but be sure to look at the terms carefully and make sure you know what you're doing.