I am not sure why we even have both of these? There seem to be pointless inconsistencies between the two methods. It seems like either picking one, or allowing us to force a game to run in a specific mode would be greatly beneficial, or at least allowing us to detect which mode the user has selected so that we can do this ourselves.
As far as I have used them, Software mode seems to outshine Hardware mode in every possible way, and in a lot of cases, Hardware mode literally just fails. Some other developers claim poor performance in Software mode, but I have actually experienced the opposite.
Software mode was free of the massive performance issues plaguing the previous version (technically, the current version) of BYOND, it seems to handle graphics better, it generally performs smoother and more consistently in my experiences, and Hardware mode drops into it when it often crashes anyway. In fact, the only benefit that I have ever noticed from using Hardware mode, is that FRAPS will work with it, which is kind of irrelevant... but for some reason, hardware mode is the non-optional default?