I don't mind the battle pass model, I just hate that the time needed for the top rewards are calculated as if the player who paid for the battle pass is only playing their game. I play other games, I watch shows, I do other things in my life, the top rewards shouldn't be as exclusive as most games have been making them.
Also I find the current grind for the top rewards tactic is a pretty double edged sword. I end up getting season 1 battle pass (apex, Modern warfare) then I grind the game trying to complete the battle pass and just end up burning out on the game.
The idea of using the battle pass for player retention is not bad but the only dev that I've seen do it well is Valve with CSGO. Weekly missions and you could complete them at you're own pace. Ultimately CSGO's rewards were pretty weak, barring the agents, but overall a much friendlier system then grind atleast 2 hours a day for the next two months.