The main thing I like is the freedom it gives developers.
It is open source, written in JavaScript/TypeScript, and fits naturally into the kind of stack we already use. If the documentation is not enough, you can actually open the source code and understand what Medusa is doing instead of treating the platform as a black box.
We use it as part of a larger architecture with Next.js and PayloadCMS, so being able to extend the backend, add our own routes and logic, use webhooks, and generally integrate Medusa into our application was much more important to us than having an all-in-one platform.
The documentation is also quite extensive, and overall Medusa is pleasant to work with as a developer. Review collected by and hosted on G2.com.
When we started the project, some fairly standard e-commerce use cases were either missing, incomplete, or still a bit rough.
One example was tax-inclusive pricing, which is extremely common in Europe but was not handled as naturally as the US tax model at the time. We also ran into bugs in the core coupon logic.
Draft Orders were another example. At the time they were available through a premium plugin, but in practice the feature felt maybe 80% finished. We still had edge cases to work around ourselves.
Medusa was moving quickly, which was generally a good thing, but it also meant that sometimes you had to be ready to dig into the source code instead of assuming every e-commerce feature was already mature. Review collected by and hosted on G2.com.
