This couldn't be more wrong. there is this little thing known as AC21 clause where you can change employers after some part of your green card has been pending for more than 6 months. This doesn't reset the green card clock at all if you're waiting to be current, but you do have to do the first couple phases again with the new employer (which are really quick)
I have seen many people I know use this to change employer with no problem. If someone under green card is unable to change employer, chances are they just can't find a better job.
Also it is wrong that you can't accept a promotion. For example going from software engineer to senior software engineer is fine. As long as the new position is at least 51% similar to the previous one you are fine, and it is easy to prove on paper with a little bit of magic with your lawyers.
Also wrong that you are locked at the same pay... Seriously I have never heard this yet, where did you get that? I know plenty of people (and myself included) who while waiting for the green card got multiple raises with no problem.