The way I see it, Vagrant does for VMs what Docker does for containers: provides a way to build, deploy, manage, and teardown VMs consistently and without much manual effort. For example, I used Vagrant when learning to use Kubernetes, because I could quickly spin up a 3 node cluster on my laptop and destroy it if I messed up.
If you can use containers for local dev, great, but not everyone can or wants to migrate to containers. Vagrant still solves a very important use case.
Facebook and other social networks (Google+ for example) played a huge role in this* by enforcing real name policies. It's more profitable to advertise to users when you know who they are, where they live, how they shop, what they eat, etc, and not just their screen name.
https://kind.sigs.k8s.io/