Q:

Buffers or tabs in vim?  What are advantages/disadvantages of each approach? 

I'm used to modeless editors.  Only the past year I've been using vim/gvim, which has a modal approach. 
I'm used to tabs in all editors, since before vim all of them are used to it.  In gvim, you don't necessarily need to use tabs: you can just use buffers. 
My question is: what are the advantages/disadvantages between these two approaches  (buffers vs tabs)?  Why do these both options exist? 

A:

See https://stackoverflow.com/questions/102384/using-vims-tabs-like-buffers/103590#103590 (or why spliting the vim community among all SE/SO sites is a bad idea)

A:

First of all, quick naming correction - anything open in Vim is a "buffer".  The terminology here is similar to emacs, if you are familiar with that editor.  Buffers simply refer to open files in the memory of the current Vim process.  To see a list of you buffers, use
:ls

which shows you a list of the current buffers, numbered in the order that they were opened.  However, buffers do not have anything to do with the visual representation of files in Vim.  I think you may be thinking of splits or views. 
As to the difference between splits or tabs - It really is your preference!  Some people like to be able to see a lot of code at once (or have the screen real estate to do so), and so might prefer using splits.  Other people, like yourself, are more used to tabs and so might prefer that instead. 
These links contain helpful information about using splits and tabs:
for splits (they call them viewports in this doc): http://www.linux.com/archive/feed/54157
for tabs: same site (sorry, can't post  more than one hyperlink)
I hope this answers your question!  Please clarify, if it did not.