It’s because your videos are not reaching your target audience.
You see, YouTube is now loaded with thousands of channels. And these channels have millions of videos which are staying on YouTube for years.
So your new videos, to be honest, can not beat them regardless of how much effective keywords you use.
Because those videos, over the years, managed to collect so many views, likes, and comments that YouTube algorithm prefers to show them in the search results.
So when your audience looks for a video, the first ones that appear before them are those old and mostly viewed videos.
And the second ones that come in the recommendation section or in the side bar are the new videos which are getting fast engagements.
Your videos, unfortunately of course, don’t even show up, let alone being viewed by your target audience.
So, if you want to get views to your YouTube videos, you not just have to upload Awesome contents and use related tags and eye-ball catching Title, but you also have to collect some Initial views, likes, and comments.
Because when you drive some quick views, likes and comments to your videos, YouTube will think that maybe your video is an awesome one and being loved by people.
So YouTube will start increasing it’s ranking.
And thus, you will eventually find your video showing up when your audience look for videos.
So if you want more views to your video, you then first have to collect some Initial or SEED Views and Likes.
And you can collect them either by promoting your videos all by yourself.
They have several established blogs and exchange groups, so they can quickly do the promotion for your video and drive enough views, likes and comments.
So either do it yourself or outsource it to a reliable site, in order to get more views and increase your ranking, you would need enough fast engagements.
You can even read it on YouTube, they made it clear that they rank a video based on it’s engagement.
Hope this helps