[One (M9) Q&A, Help & Troubleshooting] Flippy498:
I need to correct some of the information that got posted previously in this thread.

First of all: There are only custom roms but no custom firmwares for HTC devices (c.f. the difference between rom and firmware).

Second: S-OFF increases the risk of a hard-brick dramatically since it removes security checks of the phone (c.f. this article, the 5th post/the first page of Sneakyghost's firmware thread and the article that I already linked above). S-ON phones will refuse to accept broken files (e.g. RUUs that got corrupted due to a bad download). A phone with S-OFF on the other hand will get flashed with such a broken file and you won't get notified with any error outputs. Another example are those NoRedText aboots which remove the read warning that appears during the boot if the bootloader got unlocked. You can only flash them with S-OFF but if the hex edits didn't get executed correctly this can actually lead to unrecoverable damages.

Don't get me wrong. I'm using a S-OFF phone, too. However, you need to be aware of the risks and that you don't need S-OFF for recovering a phone. Keeping a RUU at hand for your current firmware version (if one exists) or at least a TWRP backup of the stock rom is more than enough. Damages that can't get repaired with either a RUU or a backup can't get repaired with S-OFF, either, in most of the cases.

Third: You need to differentiate between stock rom based custom roms (e.g. ViperOne or ICE) and those custom roms that are developed from source (those are the roms that shivadow mentioned in his post - e.g. Lineage or Resurrection Remix).

Those roms that are based on the stock rom deliver the same perfomance (or maybe an almost not noticeable better/worse performance) than the stock rom does. There are no differences between the core of these roms and the stock rom. (On the other hands this means that bugs of the stock rom are present in these roms, as well.) Therefore the performance differences are minimalistic. However, you don't flash such roms due to their performance differences (in comparison with the stock rom) but due to the additional features that they provide on top of the stock rom experience.

Causes for disadvantages of the other group of custom roms already got explained by shivadow in his post. A perfect example is the bad perfomance of HTC's cameras (the hardware of the phones not the app) on CM/Lineage roms. Nevertheless, I've never seen an HTC phone being incredibly slower on a custom rom than it was on the stock rom. My One S for example is much snappier on Lineage 14.1 than it would be on its android 4.1.1 stock rom and its battery is lasting much longer (well, android 7 has way more battery optimizations than android 4.1.1 so that isn't such a surprise). The only thing that I can complain about is (as mentioned before) the picture quality of the camera.

In other words, it's not always black and white. The best advice that I can give is to test all roms that are available and to use that custom/stock rom that suits your needs best.

Fourth and last: The M9 is more than two years old. HTC normally doesn't support any phone longer than this time period. There probably won't be any more updates than the nougat updates for those SKUs that haven't received firmware 4.x, yet.

TL;DR: What got written in post #2.