@jmarshak well, two of the key software components are the user experience and whether or not your use cases and other components are supported.
Aurender, LUMIN, BluOS, HEOS, Sonos, etc. all have different user interfaces and support different features with their branded software. That can anything from box art to languages to device/app settings to widgets (control elements).
Some devices work with third party software and protocols, whether that be Roon, Tidal, Quboz, AirPlay, UPnP, OpenHome, SMB, SSDP, etc. And that compatibility may be better or worse, more or less reliable. If the product forces you to jump through a lot of hoops to do what you want, that's not as good as one that works with whatever you already have or use.
In terms of hardware, superficially there is the form factor and I/O ports, but past that are the actual design considerations such as internal shielding, circuit design, component choice, etc.
Hardware and software choices can have an impact on network quality and behavior (e.g. Wii versus Xbox or PlayStation, iOS versus some Android ).
One of the most fundamental choices a manufacturer needs to make is if the device will be more like a general purpose computer or more like a traditional CE device running embedded software. That has a large influence on the hardware and how things will work, before the user-visible software is ever considered.
I would add a third aspect which is manufacturer/dealer support. If a user runs into a bug or incompatibility, or has network issues, is the manufacturer able to provide high quality support? Is the dealer expected to support the user instead? Or some combination of both? The hardware and software will have an impact on how much support users will require, and the degree of sophistication needed to resolve issues by the support person and possibly also the user.