Why there is no standard way to uninstall programs in MacOS?
The standard way, assuming the program is following all of the App guidelines Apple lays out, is to drag the .app bundle from the installation location (usually /Applications) to the Trash.

There are some exceptions to this, but for the most part that's how you do it.

The program files that get left behind in ~/Library/Application Support can also be cleaned up if you wish, but they're generally considered benign and can be ignored.

There are uninstall helpers that make the removal of an application and all its support files much easier. So you don't have to Google for details on how to remove things. Take a look at TrashMe or AppCleaner -- both of these tools attempt to automate the search and removal of support files that go along with applications. In the case of TrashMe, it also helps you uninstall widgets and System Configuration plugins, which is handy. I personally prefer TrashMe.

Some software integrates so deeply (MacFuSE or Growl for example) in to the system that the only way to uninstall it via a script. In these cases there is usually an uninstall script in the .dmg file that you downloaded to install the software or one provided by the developer on their website.