What do you like best?
* Not bloated with features. Express provides essential features out of the box (such as routing and static file serving) and allows building up on the functionality using middleware( middlewares are functions that operate on request and response objects. http://expressjs.com/en/guide/using-middleware.html). Middlewares can be third party or user-defined apart from some in-built ones.
* Easy to get started with. The "hello world" app for express involves minimal code, and can be easily extended. Learning curve is small and many great tutorials are available for beginners. It is well documented and enjoys a large and vibrant community.
* Extensible. Being minimal allows express to be easily extended to serve apps that specific business related functionality.
What do you dislike?
* The fact that it is minimal also means that developers have the freedom to build up the app in their own style. While this is good in one sense, it also creates room for more conflict and confusion when a bunch of people are working together on a project because each of them might have their own style and they'd need to compromise and conclude on a commonly accepted project structure.
Recommendations to others considering the product
Go through the express web documentation and at least be aware of each method. It will help.
What business problems are you solving with the product? What benefits have you realized?
*Creating a dashboard visually mining query metrics from a distributed Druid cluster.
*Building a fairly broad-scoped dispute resolution center for sellers and buyers.
We at paypal have extended express to create our own open source framework Krakenjs (http://krakenjs.com/). This allows developers to add certain features like application security, templating, and internationalization out of the box. We also do have a yeoman generator for Krakenjs which spawns the directory structure. Overall, this make development process a breeze thanks to the simplicity and extensibility of express.