Honestly I don’t have a good answer for that. The ones who charge a one time fee are honestly being pretty generous (depending on the price you paid) considering there are yearly dues to ARIN/RIPE/APNIC/etc for IP allocations depending on their aggregate block size as well as the fact that IPs are generally very valuable right now, and go up in value depending on the block size.
If they have a legacy registration they also don’t have to pay those dues, though the downside is they don’t get the newer features like RPKI without signing a LRSA/RSA (and therefor paying those dues) and getting their routes certified. Usually doesn’t cause an issue as not many peers drop unvalidated BGP prefixes on IPv4.
That being said, if your ISP has been in the game for decades, they probably have owned their blocks for decades and got them for pennies on the dollar when ARIN and other registries were handing out IP addresses like candy. I know the last /24 my company had to buy cost us somewhere in the neighborhood of $14,000 when it was all said and done, and that was just for 256 IPs.
Eventually IPv4 addresses will become so prohibitively expensive, that is what will eventually push mass IPv6 adoption on the ASN side of things.
$50 one time is a great price. We charge our members $10 a month if they request a static. We’re also a not for profit coop, so all that money gets either dumped back into network infrastructure and expansion plans, or capital credits for our members.