What are the reasons for deployments to be more complex by default between machines?
Incredibly large and complex programs are deployed on user devices all the time and most of the time all is needed a "Next Next Next" or copy to a folder.
Yeah, sure you may need a specific runtime to be installed but that can be achieved through a deployment script too. Remember installing DirectX when installing a new game?
Sure, there are cases where specific app may need specific version of it and another app may need a completely incompatible version however this is more of an edge case.
Containers are definitely very powerful in some cases but I find it very distasteful to make EVERYTING into a container. It's not like apps are deployed on a server with custom version of Linux made by North Korea and the other one on a Nintendo. Most of the time, it's the exact same environment everywhere or it is a few command away from being exactly the same.