Depends on the situation. Sometimes the workers in a particular field need more bargaining rights in negotiations with an employer. Unions are good in this situation because if the employer doesn't agree with a compromise then they lose their entire skilled workforce to strike.
Now, a union in fast food would be basically useless because it's unskilled labor and easily replaced.
A union of engineers, look out...fortunately most engineers are compensated fairly or at least fairly enough.