As I understand, in the US you get to choose one from two candidates (unlike in my country where there are 20 or so parties etc you get a lot to choose from in the first round). What if both choices are bad?
Well, that's very complicated. What people and parties are listed on the ballot is essentially controlled by the individual states. The two major parties and all the minor parties essentially agree internally (usually with public voting, though) what people we be on the ballot under that party -- so for them, it's actually that what parties are on the ballot is controlled by the individual states. Rules very by state, as does success, so the ballots are not consistent from one state to another. (So yes, a minor party could be on the ballot in some states and not others.) In my opinion, this is all for historical reasons.
In practice, in most states, there are actually quite a few Presidential candidates on the ballot. However, for a lot of reasons, it's very rarely the case that anyone other than the major two parties' candidates have any hope of winning. Slightly more likely is that one or two minor parties act as "spoilers" that draw a small but significant group of voters away from one of the major parties (see: Green, Libertarian, Tea, Ross Perot). So functionally, there are two candidates, but the ballot actually has quite a few entries.