The simple but accurate explanation is that the vendors of iOS and Android don't want the end-user to have full control over the operating system, whereas the vendors of Unix systems do. It's a design decision by the device vendor.
It is technically possible to have iOS or Android systems where the end-user has full control. There is no such iOS-based system because Apple does not wish so. There are Android-based systems where the end-user has full control, such as CyanogenMod.
There are many Unix-based systems where the end-user doesn't get root access, typically Linux-based special-purpose devices such as network equipment. On many such devices, the end-user doesn't get shell access at all, but it certainly is possible for the device vendor to set up a shell account and let the end-user access it, but not allow this account to elevate privileges to root. All it takes is for the device vendor not to include sudo
.
If you have access to a shared server, depending on the level of access you purchase, you may or may not get root access. Once again, it's a decision by the vendor as to how much access they give you.
Of course, if you have physical access to the device, you can gain theoretically root access, but it might be difficult (some tablet models remain non-jailbroken for months or even years).