Okay, I guess I'll be the voice of gloom. Yes, it is true that any time at Disney is magical BUT, there are some times that (IMO) are much, much, much better! Here are my picks......
September/October, during the fall value season. I try for early Sept before the school kids decide to show up on class trips. The weather is a bit on the hot side, but it is not very crowded at all! We have walked right on to many of the big name rides, (even Dumbo!) several times in a row, and others have had a small wait. The parks are usually not open til midnight, except on the weekends, but since there are so many less people there, it isn't a problem because I always have plenty of time to do everything I want to do.
May, between spring break and summer vacation. This time the weather is less hot and it rains less. There are also less people than at summer time. Same advantages as above, as well as Star Wars weekends (well.....they used to have that) and the Epcot flower festival.
December, between Thanksgiving and Christmas. You get the holiday decorations and special events but not the holiday crowds.
The above times are also not usually when they shut down some rides for maintenance. This usually happens in Jan Feb when it is also down time, but the weather is iffy, so I don't recommend those months.
In my opinion, crowds ruin the trip for me (to a degree). I hate, hate, hate waiting in super long lines (an hour or more). I hate wasting my time waiting. I hate having to deal with the crowds at lunch and parades and even just trying to walk around. Having the park close early (like 7) doesn't bother me nearly as much as dealing with the crowds. Often, the people we meet at Disney on crowded days are wonderful people and I am happy to meet them, but it still isn't worth it to me to go when the crowds are big. My Dh is also not good with crowds. Actually, he is worse than I am and going to Disney with a cranky husband sucks big time! I am more than willing to sacrifice a few hours at night (provided they still do the parade that is) to have a less crowded day.