Is it Inethical/Bad Practise to create a custom table and save content instead of using drupal fields?
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.