I personally think that div provides more flexibility than the tables. Using tables you can position the contents horizontally or vertically but using div you are free to put contents anywhere in your page. Also it is very easy to make changes to div without affecting the original layout of the page; you just need to make some changes to your css file. For beginners it is very easy to implement table layout than div layout. But after little more practice you will be equally proficient in divs also. I will recommend you to use divs for the layout of your site and use tables to represent tabular data inside the div tags.