I'm a big fan of NoFlex because it not only prevents odor out the vent, but also dissolves sludge on the bottom of the tank. Only drawback: it's expensive. I'm also a big fan of Odorlos because it promotes oxygen release from the waste itself. It doesn't dissolve sludge, but the solution to that is simple:
No matter what tank product you use, at least 2-3x/season (or every couple of months if you use your boat year round), rinse out the tank by putting 4-6" of water into it VIA THE DECK PUMPOUT FITTING 'cuz that sends the water into the tank at the bottom to stir up any sludge and hold it in suspension so it can be pumped out....Pump that out...repeat, repeat until you're pumping out clean water. If you have a macerator pump, use it to rinse out the macerator pump and its plumbing the last "repeat." This should also be done in preparation for winter or other extended layup.
BTW...Odorlos is a lot expensive from RV supply stores than marine stores.
--Peggie