Everyone has their own reasons but here are mine.
1 - Isolation, you have specific equipment for specific roles, you can isolate e.g. when diagnosing problems. So e.g. when I make changes to my firewall/router, I dont lose my vdsl sync as the modem is isolated and can stay up and running. All my reasons probably to some degree are based on isolation but will list them separately.
2 - All in one devices are usually not the best tool for everything, so e.g. the best tool for been the modem, the best tool for been a firewall, the best tool for any filtering you want to do, the best tool for any QoS you want to do, the best tool for any auditing you want to do, and so on. The hg612 e.g. was good as a modem, but as a router/firewall, its capabilities were very basic. The zyxel and billion devices I have now used as modems simply are not capable of doing everything I want from my router/firewall.
3 - Security, feature updates, the vast majority of consumer broadband devices sold have limited lifespan in terms of support from the vendor. So I choose to use a solution that is actively developed and looks like will carry on been so for many years to come.
4 - Reduced costs of changing internet technology, if I switch to cable or say 4g, the cost is minimal, just the modem itself needs changing. Instead of buying an entire new router, and its not just the cost of the hardware but also the cost of my time configuring it. Basically I have standardised the router/firewall part of my network which will stay the same no matter which internet technology I use. Only the modem part is swapped depending on provider. e.g. when I used 4g during my vdsl outage I plugged the phone into my pfsense unit and simply set it as the gateway for all my internet traffic, that was it. Note ronski still uses pfsense when he changed from VDSL to cable.
These are based on the question why do people use dual devices?
If you more meant why do people use bridging instead of double NAT it is to keep the networking clean, with double NAT, the traffic has to be processed twice within your LAN, which can introduce performance issues, brokenness, and configuration headaches.