I ran BGP at home this week, and the honest reason is that I wanted to understand it in my hands rather than on a whiteboard. The respectable reason, which I worked out afterwards, is that it actually fixed something.
The setup is small. Two routers, a couple of VMs that want to advertise a service prefix, and a desire for traffic to fail over cleanly when I take one box down for patching. I had been doing that with static routes and a lot of hope. Static routes do not withdraw themselves when the thing behind them dies, so "failover" meant me, at the keyboard, editing a route table while something was already broken.
BGP just does this. Each VM speaks BGP to both routers and advertises its /32. When the VM goes away, the session drops, the route is withdrawn, and the other path wins on its own. I used a private ASN in the 64512–65534 range, kept the config to about a dozen lines per peer, and watched it converge in a few seconds when I pulled a cable to test.
Is it overkill for a house? Completely. But I now understand prefix withdrawal as a felt thing rather than a slide, and the next time I touch BGP at work it will not be the first time. That is the whole point of a homelab, really: breaking the toy so you do not break the real one.