not that long ago there was a trending article on HN about how abstraction was expensive. It is exceedingly difficult to determine and offer the right interfaces for these that can have many different downstream implementations. Definitely not for the faint of heart, feels like a higher level of engineering than most people want/need.
Its just bad. The commercetools projects I have seen are all slow, broken clusterfucks. In one instance they apparently used the search api, that commercetools provides, and the requests take more than 3 seconds in some cases. Maybe they just implemented it badly, but I suspect its a mix of bad implementation and bad api. When I talked with the people that implemented that, about doing more complicated stuff than a run-of-the-mill facetted search, they could not offer a solution. Commercetools apparently uses elastic-search under the hood, but either its not possible to use that directly or not supposed to be used directly. @cnj please correct any misinformation, I confess I haven't spend any time researching this (I was turned off right away).