I was going to do a tournament recently, and then, I found out just how much $$ SwissSys Tournament software costs...
My question is:
What good alternatives to this expensive mainstream software are there, if any?
The one I like is Vega - http://www.vegachess.com/tl/index.php. This is free on Linux. The guy who wrote it is an open source supporter who welcomes feedback and is willing to make changes. He is also an active FIDE arbiter. It is also free on Windows for up to 30 players and 50 euros for unlimited use.
There is a review by an English arbiter here - http://chessarbitersassociation.co.uk/Vega.pdf.
The answer to this question depends at least in part on what rating system you want to use when running an event, as well as what your definition of "good" is. It's worth noting that pairing programs require a lot of time, testing and maintenance. So, if you see "good" as synonymous with "cheap" or "free", there probably isn't anything available that will work.
If you're planning a FIDE rated tournament, you can find a list of the approved pairing programs here: https://www.fide.com/FIDE/handbook/C04Annex3_FEP18.pdf. Of these, Swiss Manager is, IMO, the best bet, not least in part because it offers one-button Web publishing of results and pairings.
if you're planning a US Chess rated tournament (as opposed to the FIDE rating system), your best options for pairings are as follows:
You won't be able to generate the files required for electronic submission of US Chess rating reports without either SwissSys or WinTD. Either pairing program would work well for you.
There is a reasonable argument that arbiters should learn how to pair by hand before jumping in to using a pairing program.