Here are some pain points I've had to deal with when using/developing for Gutenberg:

Many people in the core team assume everyone knows and loves JS, React, tooling, and so on. Don't assume this, please. I personally am still trying to grasp what many people find so great about JS, but sadly I know I'm in the minority.
The documentation is nearly useless. Many people learn by example, and the examples found there are worthless. And some of them are still using React higher-order components instead of the simpler React hooks. The documentation is basically a glorified API reference.
Everything is so geared towards block developing, that other areas of the editor are completely neglected. How am I supposed to migrate a plugin that makes a heavy use of meta fields (such as WooCommerce) to this new paradigm? No info anywhere. So many plugins (event managers, e-commerce, SEO, etc.) are still using the classic editor UI to this day because of this.
In the plugin repo, there should be a rule that bans plugins that just ship the transpiled JS code. As I said before, many people learn by example, and the lack of source code makes this very difficult.
The Gutenberg Starter Theme (https://github.com/WordPress/gutenberg-starter-theme) and the Gutenberg Examples (https://github.com/WordPress/gutenberg-examples) on GitHub are extremely simple and of very little use.
There should be a CSS reference somewhere that lists all the classes that should be styled in a theme (frontend and backend) for every core block. I find it puzzling that after more than two years there is no something like this anywhere.
I find it really annoying that Gutenberg still stores users’ editor preferences in the browser’s local storage instead of the database on a per-user basis. (https://github.com/WordPress/gutenberg/issues/15105)

These are just some things that come to my mind right now, but there are many more challening issues that i stumble upon on a daily basis.