Since the others explained the basics, here's something those answers are missing: a lot of giveaway bots have a system of "hidden requirements" that you don't see at first glance. The message might just say "react with 🎉" but if you check the rules channel or the giveaway embed carefully, sometimes there are conditions like needing a specific role, being on the server for X days, or having sent messages in certain channels. UnbelievaBoat and similar bots track all that automatically, so if you react but don't meet the requirements, you're out without it being obvious.
What works is going to the bot's profile on the server (right-click its name when it shows up in a message) and checking its permissions and configuration. Some servers have the bot set to exclude people who just joined or don't have roles. If you see yourself participating in a giveaway but never win and others do, you're probably missing some requirement. The other thing is to talk to the server's moderators so they tell you exactly what you need to meet.
A trick almost nobody uses: if you join a new server and see there are giveaways, don't rush to participate on the first day. Wait a bit, interact in the chat channels, get roles if they ask for them, and only then enter the giveaway. Bots usually have anti-spam filters that favor more "established" users in the community, so the longer you've been there and the more active you are, the better your chances are.