I think overall it is still very immature, I wish there was someone more competent who lead the project. Its not just a lack of resources to blame for its many shortcomings in my opinion.
* the syntax is obtuse and limited on a completely arbitrary restriction of not wanting to extend the parser. (The idea of decoupling type annotations from the type checking implementation is completely insane)
* in most situations you will not know if mypy actually does anything on any given line of code or silently ignores it. There are some options to enable more strict checking but that is almost completely useless because...
* most/all libraries (even standard library) packages have none or very few type annotations (stubs) available and this will likely never actually get better due to its aforementioned incompetent design.
* there is a huge amount of tiny little annoyances and mistakes in the design of the type system you will stumble on when working with it on any large scale
* the mypy type inference (or lack thereof) is terrible, compare it with type inference in C++ (auto) or Rust to see the difference to a competently done type system.
* the mypy software itself has a history of a huge amount of bugs and regressions speaking to its immaturity (1,130 open issues in github at the moment)
I feel most people who will defend mypy no matter what, have probably not had the "pleasure" of using it in a significantly large codebase.
But... I still use it, people should still use it, shitty static code analysis is still better than nothing.