There is an upside and downside to both extremes.
A reseller is, as stated, only as good as the provider they choose. At the same time, a non-reseller host, is still only as good as the datacenter they choose.
Some companies feel more comfortable allowing someone else manage the server, and take care of updates, etc While others choose to have that full control.
The key here is that resellers become resellers because it's easier to get into the business that way. It's cheaper.
I shold also point out that not all resellers are middle men. It depends on a few things. One of which is the reseller's relationship with the parent provider. Others include the reseller's knowledge of servers. In many aspects, unless it involves OS updates/addons, etc the reseller has enough control to add a lot of things to only certain accounts, including their own parent reseller account. It's called "Rolling your own", and refers to more than just PHP, etc. you can compile libraries locally, etc,, as well.