I read that it used to not be like this, that it used to be possible to renew the _visa_ itself from inside the US, but that got changed before my time. I can only imagine that the reason for that was that non-citizens inside the US are entitled to due process, but non-citizens outside the US are not. And denying a visa to somebody outside the US is therefore a lot easier than denying it to somebody inside the US, and essentially cannot be appealed.
When I applied for AOS form H1B to Green Card, I didn't have to leave the US. With this change, I would have had to. The only reason I can think for this change is that denials of AOS would now become unappealable. I hate this.