One potential difference is that for many things that are capital expenses (a building for example) a business is likely to take out a loan in order to buy it, so they don't have the full expense up front. A bank is probably not going to loan you money to pay your developers at the same terms they will loan you money to buy a building.
Makes sense, but why not (genuinely asking)? Is it just that the bank can repossess the building if necessary, but repossessing bespoke software is kind of pointless?
Right. The bank can generally resell a repossessed building to recover the loan principal, but repossessed software may be worth literally anything, including zero in many cases. That makes loans for building software extremely risky, which is why software companies are rarely ever funded by bank loans.
What about software written on contract? It's my understanding that a signed contract with a customer to deliver something for $x is usually enough to convince a bank to lend you $x for approximately the length of time until you get paid. IOW if I'm an engineering firm that has a contract with the DOT to design a highway interchange, I can go down to the bank and a get a loan to pay my engineers' salary until we deliver and get paid. Can I do the same as a software shop that has a contract to rewrite the DOT's payroll software? I guess this scenario is still different because I'm (probably) not paying the loan off over several years -- it's more like an inventory loan.
In any case, it seems like the result of these changes (if they stand) will probably be to change in some way the amount /and type/ of software that gets written. If the tax treatment of software essentially requires it to be a capital asset, we will probably see people write more software that behaves like a capital asset: shrinkwrapped software rather than SaaS. This may not be a bad thing.