<router-link> in my opinion takes more work to implement, since you can add $router.push to any element with an @click event.
What are the pros and cons of each approach? Is there any instance, where <router-link> can not be replaced by $router.push?