What are the advanvates and disadvantages of vacuum in postgresql?
Vacuum is an inherent part of Postgres due to the MVCC model - you don't have much choice, it's there. 

As for vacuum full - it rewrites the table and takes an exclusive lock in the process- you won't be able to access your table. 

It sounds bad but recent releases reduced the need for vacuum full dramatically. 
Frequent regular vacuum (using the autovacuum for example) should be enough in most cases. 
Just make sure to monitor your vacuuming and DB for bloat.