Best website: Bing.com/travel - the fare predictor is pure genius. Not even Delta agents have access to that information. A close second would be Skyscanner.

In general you want to book 6 weeks to 12 weeks in advance. Any earlier and the flights won't be on sale, any later and the others will have already snapped up all the low fares. Award tickets are another animal though.