The on demand platforms fail because these startups can not predict demand like Uber can. Uber has public data like concerts, sport events, rush hour, nightlife which are all pre-planned. Uber can then direct its drivers where the demand is.
On the other hand Uber for healthcare for example is impossible because you can't predict who will get sick when and where. It's impossible to know how many doctors you would need on a given day. So it's a lot of wasted money and doctor time.