I've heard that check-raising isn't allowed everywhere. What is the reason behind that?
The point is to make players feel like they're not getting hustled by a shark. Some people, particularly newer players, think it's an unfriendly thing to do. The game will tend to have a little more action than one where check-raise is allowed, which means that the rake will be a bit larger.
In practice, however, it actually favors more experienced players. The Excalibur ran a 1-3 spread limit hold'em "Beginners" game in the mid-90s, with the only difference from the regular 1-4-8 hold'em game (other than the limit) being that check-raise wasn't allowed.
When I noticed this game, it was the only place I played for months, until it wasn't really going anymore. My adjustments were very simple - I played much tighter in early position and would play almost any two cards on the button if there were enough players seeing the flop. Regardless of what I thought of the flop, I'd almost always bet if it was checked to me. I don't have detailed records for the game, but I recall almost always winning. I was certainly disappointed when I stopped in one night and found out they weren't spreading it anymore.
So, the real reason it isn't used in card rooms much is because it increases the rate at which the losers run out of money.
It is unlikely that any comercial card room would ban check-raising in standard limit or no-limit games such as Stud, Hold'em or Omaha. The rules for some lowball limit games prohibit or restrict check-raising.
Roberts Rules of Poker goes into more detail as to what games (Ex:A-5 Lowball) and on what streets check-raising is prohibited.
It might be common in some home games to limit weaker players losses and to keep it "friendly". And of course there may be some card room somewhere that does but I could find no evidence of that.