How do I uninstall a program completely on a Mac?
You can use this free app:
AppCleaner
(Synium used to offer CleanApp, but the product has been discontinued. You can still download a demo version which supports OS X 10.8 Mountain Lion up to macOS 10.14 Mojave.)
AppCleaner all the way. The vast majority of apps on the Mac are self-contained, which is why there's no built-in uninstall method in Mac OS X. The only exception to that is plist files - essentially just application preferences. These are tiny text files and usually inconsequential if left behind when you remove an app. (Leaving them also preserves you application preferences if you later decide to reinstall the app.)
Applications like AppCleaner are for purists who want to truly remove every last bit of an app when they uninstall it (nothing against purists, though -- I fall in that camp). Since all these apps mainly do is hunt down these stray plist files, paying for an app like AppZapper is a little ridiculous. AppCleaner is free and gets the job done perfectly.
Alternatively, the automation app, Hazel, automatically finds related files when you delete an app and asks if you'd like to remove those as well. It's not free, but it is highly useful for a vast number of other purposes, so if you'd like to get the other features it provides, you can kill two birds with one app, as it were.
Also bear in mind that many applications will include an uninstall option as part of their installation package, either as a separate program/script within the .DMG file or as a specific option in the installation wizard itself.
So although it might seem counter-intuitive, it's often worth mounting the original .DMG file (that you downloaded) again, and having a look for anything marked 'uninstall' - you sometimes find that utility program, driver-type packages and large games do tend to include software to clean-up after themselves.
If I come across a couple of examples in the next day or so, I'll edit this to include their names.