The vast majority of the US has "at will employment". It means you can be fired any time for whatever reason...or even for no reason.
However, there are a few reasons you cannot be fired. You can't be fired because of your race, gender, sexuality, age, whether or not you are pregnant.
HOWEVER, because an employer does not have to give a reason for firing you, they could theoretically do something like fire you for something like being gay and pretend it was for some other reason. If you can prove that they fired you for being gay, you can go to court, but that's exceptionally difficult to impossible to do. So really they can fire you for anything.
Some jobs are unionized, making it harder for employers to fire you willy nilly though. Most jobs are not unionized in the US.
I mean in most positions outside of the absolute bottom of the barrel jobs, it just isn't a smart decision on the employer's end to just be constantly firing people since their job still needs to get done, and training replacements is expensive.