That's not a software installer. That's a distribution-specific package manager. Huge difference.
Commercial software for Linux typically does not come as a package. It starts with some kind of shell script and shoves itself into a corner of the filesystem (usually /opt/$PRODUCT/), and generally ships all its dependencies and does the work of mangling init to work on whatever distribution it's being shoehorned into. If it's a particularly expensive product it might have a GUI or ncurses installer or configuration wizard.
That's retarded, but it's still better than having a half dozen independent binary formats and a hundred distribution-specific packages.
If distribution managers would stop being asshats they would all agree on a set of APIs that they could support to perform operations in a platform-agnostic way, and software developers could in a free-market way make installer tools that work with the API. So you could have a shitty Gnome installer, a shitty KDE installer, a shitty ncurses installer, and an installer that uses Java just for the hell of it.
Packages are not things which users should ever have to touch. They are a specific collection of meta-information for the operating system to do mediocre actions like removing files, copying files, understanding if it has everything it needs to run some files, and telling you what the hell is installed. Packages certainly are not intended to hold a user's hand or provide all dependencies in and of themselves. But that's what you need if you want your users to be able to just install the damn software.
Solaris DStream packages have this wonderful ability to contain multiple packages in themselves, so you can install one or more select packages, or all of them if you need to. The easiest way to ship your application is to provide all the dependent packages in the DStream, and if you need one, you install it. This works great for Solaris (even if you have a bunch of different Solaris versions), but would be completely impractical for Linux because there's so many damn Linux distributions even if they have the same binary package format.
Most Linux software out there (assuming the kernel version is right and the glibc ABI hasn't changed) will work on other Linux distributions without code changes. But we waste all this time just making it work on other distros after the code has been compiled! Does that seem right to you? That because distributions want to live in a silo and do things their own way, you have to spend hours (or days) finicking with independent distributions just to release a new minor version of your app that everyone can use? For a bunch of really smart people we end up doing some stupid things.