1. types in phpdoc are in fact, less readable
2. types in phpdoc have worse (and in some cases non-existent) support for specific generic patterns
3. types in phpdoc are extremely prone to break (if you can even call it that) during refactors
4. there is no standard. none. linters, SA tools, formatters, editors support them, because they have no other choice. i can make up a random @.tag tomorrow and start using it, and there's nothing to validate it. unless of course it's used by enough people, because then it becomes "standard". exactly what happened with @.implements and @.template-implements, @.extend and @.template-extend, @.use and @.template-use, along with @.param, @.phpstan-param, @.psalm-param, @.phan-param. same prefixed nonsense with return, var, and a lot more.
just 4 things that came to mind instantly