TL;DR: If you know you're going, and there's a fare you can afford, book it. Waiting will almost never save you money, and never enough to offset paying double or triple the cheapo fare because you waited too long.
Detailed explanation, with pictures:
The problem is that there is no single "the price" that goes up and down. On any given flight you can buy as many as a dozen different tickets, each at a different price. They carry different privileges -- eligible to earn frequent flyer miles, lower change fees, lounge access, seat selection included, less credits needed to upgrade, free meal, etc -- depending on the airline. Often, some or all of those privileges mean very little to you and you will just buy the cheapest one. When all of the absolutely cheapest ones are gone, you have to buy the next most expensive class, and that means you will pay more.
So how do prices go up? By the cheapest seats getting bought. How do they go down? By those seats being cancelled and returned to the pool (unlikely, since they have high change fees and are bought by people who have firm plans), by discount codes or overall "seat sales" being issued, or by seats being moved from one class to another.
That last thing is called "yield management" and it is what some very smart people do for a living. They don't want a plane to go out with an empty seat (getting $0 for it) but they don't want to sell it to you 3 months in advance for $200 if somebody with an urgent need to travel would pay $1500 for it the week of the flight. So they might decide to move an unsold seat from the $1500 fare class to the $200 fare class, but only if they are sure that's the only way they'll sell it. You can see that they can go out with an empty seat 5 times, and the 6th time sell the seat for a premium, and still be ahead overall. They are pretty good at guessing how many "urgent needs" are likely to arise in a given week. And trust me, the holiday season is rich in "urgent needs". The chances of cheaper seats being available right when everyone wants to fly are slim to none.
There are ways to watch the fare classes on a given flight. For example Air Canada offers Tango, Tango Plus, Latitude, Discount Business, and Business. Tango and Tango plus actually have some smaller fare classes inside them. If you look at a random city pair on a random day, you will see something like this:
You can see that already, on many of the flights, all of the Tango fares are gone. There are clearly two prices for Tango, and only one flight has the cheaper one left. Similarly there are 3 prices for Tango Plus. And so on. As it gets closer and closer, fares will disappear from some flights. Over time, you can get familiar with the patterns between two cities. You might notice that the 7am flight is alway last to lose its cheap fares, and wait till you see a pattern like this one before you buy. As always, it helps to be unusual. If you prefer a flight at a time of day most people don't (like 7am) you can pay less. If you aren't trying to fly the Friday before Xmas, you'll pay less. And so on.
But look at the difference between Tango and Tango plus here. When all that's left is $597 fares on every flight, they can have a 20% off sale and bring it down to $477 - but you would have been better off with $364 in the first place.
If you know you're going, and there's a fare you can afford, book it. Waiting will almost never save you money, and never enough to offset paying double or triple the cheapo fare because you waited too long.
Update Nov 7th, two weeks later:
Look what has now happened to that same YYZ-YVR flight on the same date, Dec 23rd:
Every flight has gone up dramatically, except (for some strange reason) for the last flight of the day. Waiting a few weeks to book would have cost you hundreds of dollars.
Let's also look at a flight two weeks later (the same distance from today as my first set of prices, but not a holiday)
See how much cheaper those Dec 23rd flights might have been before Oct 23rd, when I took the first screenshot? The cheapest is 229 (each way, before taxes and addons, but that's not the point) while today the cheapest for the 23rd is 374, almost double, and if landing at 1am Vancouver time, 4 am body time, doesn't seem feasible then it's going to be $607, almost triple. Ouch. I see no benefit to waiting... but I plan to update this answer again in a few weeks :-)
Update Nov 24th, two-and-a-bit weeks closer to Xmas:
Still looking at YYZ-YVR on Friday Dec 23rd, same airline:
Now it's really awful. The cheapest is $607, in fact some of the economy classes now being sold cost more than sitting in business class would cost!
Again let's advance to some point as far away from now as Dec 23rd was when I started this. Say Jan 23rd.
Wow! Now some flights are as little as $199! Notice also that there are two less flights on Jan 23rd than on Dec 23rd. The airline has added as much capacity as it can for the route on the popular day - the tickets just keep getting bought!
Update Dec 16th: So now it's less than two weeks to that Dec 23rd flight home for Xmas. What bargains has the waiter achieved?
The lowest possible price is still $607, so there hasn't been much lost by waiting. And that last flight of the day has become cheaper somehow. Some particular flights are cheaper (the noon flight has gone down $100) than they were Nov 24th. But they are ALL far more expensive than they were in late October. I think for the case of Xmas, if I had a time preference, having left it to one-month-before I might try to gut it out to two-weeks-before in the hope of getting my preferred time. But the smart thing to have done was to book two-months-before, or more. $607 might look good compared to $1279 (all these prices are one way before fees and taxes) but it's actually brutally high considering you would normally see $199 or less one way before fees and taxes for that city pair.
Remember, too, that this is not the airline ripping you off because it's Xmas. They always had $604 tickets and $1279 tickets on sale for every flight every day. Normally speaking, people don't buy those tickets. That's the difference. Other people beat you to the $199 ones.
Update Dec 21st: I think this is as last minute as anyone would dare. How are we looking?
The cheapest price has not changed, it's still $607, and there are still 5 times of day you can get that price, though they have swapped around a bit.
Final update, 11m eastern Dec 23rd: Believe it or not, they sold them all:
Some people REALLY needed to fly today, I guess.