Here’s my take:
Ensure was originally designed for people having difficulty taking in enough calories, especially the elderly and those with a gastro-intestinal conditions. As a result, it has a lot of easily-absorbed sugars.
Ensure has almost no fiber. Some of these conditions require extra fiber, which is dosed separately, while others need to avoid extra fiber.
While ensure has some vitamins and minerals, it’s intended to be a complement to a deficient system; it assumes specific deficiencies are being treated separately, and it assumes it’s not the sole food source.
And ensure is shipped pre-mixed, so that a frail or sick person can easily feed themselves. While this makes it easier, it means that you’re paying to ship a lot of water, and the formulation has to take into account shelf-storability for a wet item.
Soylent, on the other hand, is designed as a complete food for healthy people - so it has a better balance of protein/fat/carbs, it has less simple sugars, it has a lot more fiber, and it has a full complement of vitamins/minerals/other nutrients.
Also, unlike Ensure, Soylent is marketed as a normal food product, not a “health food” or a “medical adjunct.” As a result, it gets to the consumer at a lower price. Since it ships dry, you have mix the water and oil yourself - after which it will quickly spoil if you leave it out, like other fresh foods without preservatives.
Ensure is introducing new variants, and we expect them to compete with Soylent in the future - but it will be hard to compete on price unless they start shipping dry.