A zero-based budget gives every dollar an assignment before the month begins. You start with expected take-home pay, list categories for bills, groceries, transportation, savings, debt payments, and fun, and keep assigning until the income is fully spoken for. Income minus planned outflows equals zero. Nothing is left floating, which means nothing gets spent by accident.
Zero does not mean spending everything. Savings is a category. Someone with $6,000 of monthly take-home might assign $2,200 to rent, $700 to groceries, $400 to transportation, $1,200 to retirement and savings goals, $500 to debt, $600 to dining and fun, and $400 to a buffer for irregular costs. That adds to $6,000. The $1,200 saved is planned, not leftover.
The strength of the method is that it makes trade-offs visible. If you want to add $300 to a vacation fund, it has to come from somewhere, and you decide where. Apps built around this idea (YNAB is the best known) track each category against the plan through the month.
The weakness is upkeep. It asks for a plan every month and attention through the month. It also works best with predictable income; for people paid in bonuses and vests, the trick is to budget only from salary and assign each lump separately when it lands.
The common mistake is making the plan too tight, with no buffer category, so that the first unplanned expense breaks it and the whole thing gets abandoned.