Main advantage is abstraction over pure mongo.
Many developers who come from SQL database types feel very uncomfortable working with dynamic collections that have no structure defined. So Schemas in the first place helps with that.
Additionally, it implements validation and other neat features in order to make sure your schema is consistent when inserting/updating/finding documents from collections.
It also creates Model abstraction which makes it easier to work with, so it looks like you are working with just objects rather than pure data.
There are many other goodies like middleware, plugins, population, validation. Please check mongoose docs for more information:
Personally, I prefer pure mongo as it is more consistent with official 10gen mongo docs and does not create abstractions that always costs some limits and rules that you will have to follow.