Honestly, I don't know how this hasn't even come up yet, but... how many of these hacks crash when played on a SNES? Were the carts even tested properly?
This is indeed an interesting and complex topic. Here are my thoughts.
Case 1: A company makes a game from scratch and sells it
If a company like Nintendo makes and sells a game then this is 100% legal and legit. It's ethical since this is a normal business practice. Interestingly some of the business practices that Nintendo did with the NES in the 80's were ethically questionable since they tried to have a monopolistic hold on the video game market with their developers.
Case 2: A person makes a hack and its free to download
Many companies have disclaimers on their products warning about the legality of making illegal copies of the game and/or tampering around with their products in ways that the product was not designed to be tampered with. If a company really wanted to bust someone for making a hack of their game then legally they have the right to do this. But the question is should they?
Companies are looking to make sales simply put. This is their primary goal. Taking legal action against a person who made a rom hack isn't necessarily in the best interest of a company who can spend time and energy working on their next big product. That being said companies can still excessive their right to do so. Not too long ago Nintendo took down a website which allowed players to play the first level in Super Mario 64 in HD which was free to play online. If they see it as a big enough threat they will take it action.
While companies can legally do this I honestly think it gives them nothing more than bad press. If a company starts acting like a dick to its customers and upsets its fans then ultimately the company will loose sales in the end. So the best way for a company to view these works is just to smile at them and move on.
Fan creations can have positive impacts on a company too. Look at all the free advertising and publicity Nintendo gets from fan made films and Mario flash movies on youtube. As long as the work is free to everyone then there isn't any real harm done and I do not see anything ethically immoral here.
Case 3: A person sells their own hack
Let's say that a person made their own hack and sells it. Well firstly, it may be a legal violation if they even make such a hack and then secondly they are now making money off of a product that isn't even 100% theirs. While this may not be legal, is it actually unethical? I think it really depends on the specifics of the situation. It depends on how much work was put into the hack and how much money they are profiting from it. If a person makes only a few slight changes to the original game and tries to pass it off as the original and makes an incredible amount of money in the process then it might be unethical. However, if a person spends years of their life creating an absolute masterpiece game hack that is truly a work of art and everyone loves it and the person gets compensated for their work in the form of profit from selling it then maybe it's not that bad ethically to do this.
Case 4: Selling another person's hack
I think it mainly depends on whether the author of the hack has given permission to allow other people to use their work or not. If a person made a hack and clearly stated that others can use it then so be it. But if a hacker clearly states that they do not want their work sold in any way then for someone else to sell it anyway is pretty sketchy. But ethics really just depend on the situation at hand. What if there was an SNES collector out there who just had to have a hack on a physical cartridge and the author of that hack clearly stated that selling their hack is forbidden, but there just so happens to exist a company that will do this for a price so that this ultimate collector can rest in peace by having this cart? Maybe it's unethical for some OCD collector to not be able to have this in their SNES collection because maybe it might bring them pain and misery.