Have to root. I love the double tap to wake/sleep feature and having that on non LG phones is great, undervolt, underclocked, debloated roms. Special permission blocking, I have no clue why apps with zero need for my contacts/ location want location and contact access. Block that and have different hosts files.
double tap to sleep does not require root, wake does
undervolt, underclock is a preference thing for me, but I'm not a fan of gimping my phone just to get a little more SoT. Even my N5 lasts long enough
debloated ROM is down to your phone choice, I buy Nexus, not really an issue for me
Marshmallow allows permission blocking, no root needed
hosts file for adblocking is a nice-ish thing, I just don't use many apps with ads (I support the dev by purchasing, or continuing to use it with ads in the case of my reddit apps), and if a site is bad enough, I use firefox with ublock origin installed.
Root still adds some stuff that it would be nice if stock did, but I haven't needed root since I got my N5. Custom ROMs are garbage compared to what shipped on the phone when it comes to stability, very nearly always (one exception for me was a BONE stock ROM for my GNex). AOSP has integrated enough of why I rooted into Android itself that I don't feel like I need root anymore. Throw in Tasker with some Auto* plugins, and I'm set.
I also use Android Pay.