Widespread adoption comes from an easy to use, backed by big name, solution to a problem people have been having.
Typescript is a good example - it came with VS Code integration out of the box, and some decent tutorials. It solves the problem of catching dumb type mismatch bugs at compile time, gives jump-to-definition, auto-complete and doesn't cost anything, it's opt-in.
Those are killer usability features!
Dependent types give type theorists a place to try interesting things. That's about it so far.
Regarding invariant annotations - people call those tests :)