The honest reason I ran BGP at home is that I wanted to. The slightly less embarrassing reason is that MetalLB in BGP mode genuinely fixed something. In L2 mode my Kubernetes service IPs all hung off one node, and failover meant a gratuitous ARP and a held breath. With BGP, every node advertises the service prefixes to the router, and traffic gets balanced and rerouted by the network instead of by a single elected leader.
My router runs FRR, so the dance is just a neighbour relationship. Something like this on the router side:
router bgp 64512
neighbor LAB peer-group
neighbor LAB remote-as 64513
bgp listen range 10.0.10.0/24 peer-group LAB
Private ASNs, a listen range so I do not have to hand-configure every node, and MetalLB happily peers from each host. The service IPs appear in the routing table within seconds, and pulling a node drains it cleanly.
Is this overkill for what is, in the end, a Plex server and some self-hosted tat? Completely. But I now understand show ip bgp on actual hardware-ish kit at home, where breaking it costs nothing but my evening. That turns out to be a much better classroom than a slide deck ever was.