I posted something similar earlier but this is more detailed.
The main reason there's a difference between cap charge vs cash spending is because of upfront bonuses. A typical deal is say $30m over 3 years, including a $15m bonus up front and salaries of $1m, $7m, and $7m.
The cap charge for the bonus is always spread equally over the term - $5m per year for 3 years in this case, so that:
- Cash spending is $16m in year 1 ($15m bonus + $1m salary), and it's $7m (all salary) in each of years 2 and 3.
- Cap charge is $6m in year 1 ($5m bonus proration + $1m salary), and $12m in each of years 2 & 3 ($5m bonus proration + $7m salary)
- each team has a "cap limit" each year, but not a cash spending limit.
In the above, you're spending $16m cash in year 1, but the cap charge is only $6m. Conversely in each of years 2 and 3 you're spending $7m in cash but the cap charge is $12m. The real cost is in between: $10 per year for 3 years.
Also, if you cut or trade a guy after say year 2, the cap is still charged the remaining $5m of the bonus proration for year 3 even though he's no longer on the team (but no salary is charged in year 3 unless it had been guaranteed which it usually isn't). That's what people are usually referring to when they talk about "cap hit".
If a team is approaching their cap limit, then they can extend a guy another year or two and "convert" his salary to a bonus. The example above has a year-3 salary of $7m and a year-3 cap hit of $12m. Prior to year 3, they could add a 4th year @ $10m/year, and basically do a new bonus/salary schedule for years 3 & 4 that creates cap space such as a $7m bonus with salaries of $1m and $9m. Bonuses to be prorated over 2 years are now $12m, so that's $6m/yr. The year-3 cap charge is now $7m (6m bonus proration + 1m salary), instead of $12m. But year 4's cap hit will now be $15m ($6m bonus proration + $9m salary). This is the discipline that BB talks about: not increasing your future year cap charges.
"Cash spending" is a just a function of how you structure the deal between bonus and salary - it's not really telling you anything about how aggressive or conservative a team is about getting a player. "Cap charge" is what the contract payments are actually totaling up to over the life of the contracts.
What would make everything better imo is get rid of up-front bonuses and spread them out over the term of the contract. So even if a guy is cut he still gets that unpaid bonus. Same math, just don't pay the bonus at signing, pay it in increments each year as another component of compensation. Then you wouldn't have a case like Gilmore claiming he was only being paid $6m or whatever, when in fact he was prepaid another $7m in his upfront bonus.