It's a negotiation. So both sides try to get the other side to compromise and give stuff up. Both sides have to agree. Sometimes the employees get to vote on the contract that has been accepted by the company, so you'd have to make your own decision if the contract was fair or if you wanted to fight for more. It's always a risk, but a union gives you information and power. Without a union you take it or leave it and get fired for any or no reason at all.
Once a contract has been accepted it must be followed or there can be punishments. Employees can be fired or risk getting the whole union sued(this is BS but it's the law) and similarly complaints can be made against companies in breach of the contract to the NLRB- the
$1.