Is it Inethical/Bad Practise to create a custom table and save content instead of using drupal fields? I was going through the Drupal 8 and find that it offers a lot in terms of structural data. There are many modules that use this structure data to execute very important web tasks. 
Like 
Search engine optimization,
Feeds,
API etc.

As a developer for a quick fix, we often create some content and save it on a custom table using a custom module, instead of putting content into Drupal structure as node field. Though this will solve our problem for short span of time quickly.

So is it something we should never do in case of Drupal?
Not at all. It's up to the developer and the needs of the site. Setting up a field to tie in  with the Field UI has a lot of benefits - it makes the field reusable on different entities, and allows it to be altered and manipulated as necessary. But it also adds a lot of overhead, and if you have to code your own fields, it adds time. If you know your data is to only be used for a single-case situation, then often it can be better to set up your own table and APIs in order to make the code more lightweight, and quicker to develop.

It's a case-by-case situation really.