How can a US citizen bring foreigner spouse to USA?
My personal advice is that if possible, you actually have the marriage in the United States. The person can travel on a K-1 visa and when the marriage happens in the US, everything seems a lot more legitimate and there are fewer documents to be translated. Obviously, not every couple wants to do that, so there are options.
If the marriage happens overseas and you would like your spouse to be able to join you in the United States fairly quickly, it is better to file an application for a K-3 visa because these visas typically process much faster. The net result is that the spouse can then be in the US while the process of green card takes it own sweet time. If the spouse has children from another relationship, those unmarried children also get K-4 visas. Once the whole family is in the US, they can simply wait for their approval of an I-130 petition. Once that is done, they file an adjustment of status petition on I-485 that leads to a green card or permanent residency.
If the marriage happens outside the US and you are willing to wait overseas: In that case file Form I-130 and wait for it to be approved. Yes, it takes somewhat longer, but once the spouse has the interview in the consulate overseas, the approval is basically a green card. You will get an actual card in the mail at the US address a few weeks later.