And CB was in great part garbage because of that (and in some aspects CB is even worse). CB had good ideas, plenty of crap implementations and no system in place for free players to get anywhere besides very occasional and rare luck (offers and campaigns do not count), even with money unless you have many thousands to spend you could say that well over 90% of the content in CB is behind a wall for you (many walls actually).
The difference is that CB barely had a playerbase, there wasn't enough people to make an impact (unlike other games back in the day which had enough people and that led to some companies shifting away from the P2W model), and even those that spoke about it would easily get circle jerked, shunned away, etc.
Small communities tend to have those issues at an even worse level due to how everyone knows each other, it's easy to name and shame and be successful at it which makes those trying to make a change just leave because there's no one that will stand being shunned and join them.
In bigger communities you can post something and barely anyone will remember your name because there's thousands, and you only get recognized if you happen to be more active, and a greater amount of people also means a greater amount of opinions and so there's less chances to circle jerk people away (unless those people are indeed wrong/bad, like EA).
Battlefront you have thousands of times more people with their eyes in the game, you have one of the most popular and well known franchises and 2 of the biggest companies behind it. People won't stand for such P2W method and Disney doesn't want the controversy to get any worse when it's one of their biggest franchises and when they are releasing a movie next month. They could still make plenty of money from this game and enough to make the next even if they didn't change a thing, but the issue is that it was getting enough attention that it would damage their IP and reputation.