There are a few decent times:
January when it isn't a marathon or MLK weekend.
First 2 weeks of May, between spring break and summer (Note that there are usually sports teams staying on property at this time, so the value resorts may be crowded)
Most of September, since very few people would pull their kids out of school in the first month.
The 2 weeks between Thanksgiving and when winter breaks begin.
Outside of these, the parks will vary between moderately and extremely busy. Like others have said, Disney tends to cut staff during less busy times, so actual ride waits might not be that much better, but the walkways and food venues will be less crowded. Busy times, like the week after Christmas or around July 4, I would just avoid all-together. Don't expect to get on more than a few rides and expect everything will have a wait, from food to characters to the merchandise stalls.