Not because of what they do (it's a neat trick), but because it teaches bad development practices to programmers.
I had a junior programmer "correct" me on some embedded code saying that all my local variables should actually be declared static, because in their experience "static is the way to go".
This "embedded" system was actually running Linux, using proper threading semantics.