No, they are not needed if you define your server blocks properly in nginx.conf, but it’s highly suggested. As you noticed, they are only used because of the include /etc/nginx/sites-enabled/*;
in nginx.conf.
For curiosity, is there a reason why you do not want to use them? They are very useful; easier to add new sites, disabling sites, etc. Rather than having one large config file. This is a kind of a best practice of nginx folder layout.