Airlines generally release flights 6-9 months prior to departure so this is the best time to book as there is a ton of availability so prices are low. Last minute bookings (within a week before departure) can sometimes get you a discounted price due to a seat sale as the airline tries to fill the last seats but this can be hard to guess as the flight could fill up before this time comes or it may be so close to being full that the tickets are highly priced due to only a couple seats being left. If you are going somewhere and you need to arrive on a specific date or it is a holiday, try to book your tickets as soon as you know the date or the airline releases them for booking as this will not only provide you the best fare, it will also give you the peace of mind knowing it has already been dealt with.
If you are working with a travel agent, they can sometimes find Up Fares which upgrade you from Premium Economy to Business for free if there is availability. These fares are very rare and random so do not be shocked if the agent cannot find one. If they are able to, make sure they book your seat assignment as this will lower the chances of you getting bumped.
When you are booking flights there are a couple general rules of thumb to follow. The first being use incognito mode and clear your cache / cookies as this has been known to help lower airfares especially if you have been checking the regularly, use an app like Hopper to track / predict flight costs, check out the airlines promotions / offers / seat sales area of their website (can be hard to find), and check to see if your credit card has any points or perks you can use on your trip.