I don't use typing with type checkers; I use it to remind readers of my code what types my functions take whenever that's not immediately obvious.
The history of Python means that coders make functions whose return is usually quite clear, but when it's not, I'm really glad I have typing.
Also, some libraries like Pydantic make use of types in a very clever and productive way.
They are not useless at all. Because they are introspectable new types of extremely ergonomic libraries have sprung up (FastAPI, Pydantic), as well as the developer experience improving.
Check Pydantic out.
Really cool for parts of your code in which runtime type enforcing is important (eg. external interfaces)
Compared to C++, where you can do incredible zero-overhead magic with the type system; for example duck-typing, once The Way, is now an absolute nightmare in Python's type system. Python typing is little but baggage and warts unless you've drunk the cool-aid and then you're horrified that people like me haven't.
(and, all that said, I'm quite excited about py3.11, it's great on performance and ergonomics)