Opnsense is foss, pfsense is less so. You can install it on pretty much any computer with two lan ports.
openwrt is great for flashing onto router embedded system hardware (check compatability first).
I'm leaning htpc (I'm brand agnostic) mostly because I've had a lot of routers die on me. Unsure why, they just get slower and slower till reboot. Rinse and repeat until even that stops working.
Both for ISP hardware and 3rd party. Not sure if it's planned obscelescence or something else. Which is why I want a pc where I can swap hardware like ram or ssd if things start dying.