You'll hear most web developers say that during web development that you should never use tables as a means of laying out the content of your web page, and a combination of Div tags and CSS is always recommended. To a new web developer, it might seem pointless or even a hindrance to use Div tags in comparison to the ease of use that tables present.
One of the most important parts of web development, or even any sort of code development is having easily readable code and comments where the code is not immediately obvious. Once you start creating large tables, with multiple columns and rows, the amount of nesting of tags that occurs can be quite excessive and to anyone trying to modify or improve your code will find their time vastly consumed with just finding trying to read it. Obviously this is inefficient use of web development time and is counterproductive web design, as the more time it takes to make simple changes, the more money is unnecessarily used.
On top of that, changing layouts becomes a far more time-consuming task when tables are used, as it is far harder to actually modify tables without something else breaking as well, which uses more development time on nonessential tasks. Most importantly, tables require more processing and cannot be as easily cached as CSS can be, this increase in load time could be what convinces a user that the website is not worth looking at. As a web developer, less users looking at content simply because of load times is a sign of poor web development, and using Div tags is not much more difficult than tables so it is an easily rectifiable problem.
All this raises the question, when should tables be used in web development? Well it might seem obvious, but they should be used when dealing with tabular data, such as anything you would display in a spreadsheet type manner. In the end, you can display your website, however you wish, but tables show a distinct lack of professionalism when it comes to web development and is just simply not as good as div tags.
One of the most important parts of web development, or even any sort of code development is having easily readable code and comments where the code is not immediately obvious. Once you start creating large tables, with multiple columns and rows, the amount of nesting of tags that occurs can be quite excessive and to anyone trying to modify or improve your code will find their time vastly consumed with just finding trying to read it. Obviously this is inefficient use of web development time and is counterproductive web design, as the more time it takes to make simple changes, the more money is unnecessarily used.
On top of that, changing layouts becomes a far more time-consuming task when tables are used, as it is far harder to actually modify tables without something else breaking as well, which uses more development time on nonessential tasks. Most importantly, tables require more processing and cannot be as easily cached as CSS can be, this increase in load time could be what convinces a user that the website is not worth looking at. As a web developer, less users looking at content simply because of load times is a sign of poor web development, and using Div tags is not much more difficult than tables so it is an easily rectifiable problem.
All this raises the question, when should tables be used in web development? Well it might seem obvious, but they should be used when dealing with tabular data, such as anything you would display in a spreadsheet type manner. In the end, you can display your website, however you wish, but tables show a distinct lack of professionalism when it comes to web development and is just simply not as good as div tags.