It's not complete BS, but it's mostly a machine for brands to grab data and free engagement. Yeah, some people actually win - I've known a few guys who scored stuff by entering contests - but statistically you've got zero chance compared to how many people are entering. A brand sometimes gets thousands or tens of thousands of comments for a single prize, so mathematically it's like playing the lottery.
The real danger is that a lot of these contests don't follow the legal rules. Instagram and TikTok require organizers to actually do a random draw and keep it transparent, but random accounts just do whatever they want. Scammers launch fake contests just to rack up temporary followers, then delete everything after. Even more legit accounts sometimes cheat - they announce a buddy as the winner, or the prize doesn't actually exist.
If you really want to try something, check if it's an actual established brand, if the terms are clear and readable, and whatever you do never send personal data or money. "Free gift" contests that ask for your card for shipping fees - that's pure scam. Otherwise just enter for fun, not counting on actually winning.