The Drupal Fields (former CCK module) are great and a convenient way to present data on your Drupal site, but performance can sometimes be a problem. This is partly because the underlying data of your content type is spread over several tables and there can be lots of joins in the underlying SQL queries.
Storing all the data in one table will give you more flexibility and control. For example to increase performance on a busy site, you could choose to store this table in MangoDB or a similar NoSql database. Another time you may want to import data into a table from another source or create a custom data entry form. For example you may have built a custom client side app, (using Visual Basic or similar). Or you may want to import data daily from external sources. Having data in one table makes all this easier.
To see an example of how to create a Drupal View based on an Entity that is in turn based on a custom table see the example that I posted on my site. There is also a downloadable example module with all the example code.