All lower end devices end up with basically same batch of ASIC, anyway just due to cost.
Most switch stuff, however basically comes down to needing more hardware. Cam costs a certain amount, packet buffers cost a certain amount (Or wormhole switching silicon costs a certain amount), etc. None of that you can ever really move into software. At least not decently.