The problem is that the router guys wanted to fast-path
the case of "no IP option field, routing entry in cache"
so that after seeing only the first few bytes, they could
know what interface to enqueue the outbound packet on
*before the entire packet had even come in*.
But this would be even faster with a variable-length address than with a
fixed-length address. You just read address bits until you find a match,
and ignore the rest.
It's easy to do for an end-user workstation that's
already bogged down by the bloat inherent in <insert
your least favorite OS vendor here>.
It's hard to do for something that's truly high-performance.
Something that is high-performance usually costs a lot more than an end-user
workstation, too, especially with the 90% gross margin that the vendor adds
to the hardware price. It's reasonable to expect to get what you pay for.