There are some people who work on only one project at a time, and don't cast on something new until their previous project was finished. Many of the sweet old ladies at my knitting group are like this. If they're knitting a baby sweater, they won't knit anything else until the baby sweater is done and given to its recipient. They finish their projects amazingly quickly, because it's the only thing they work on - they're 'monogamous knitters'.
I am not one of these people. In fact, I am a wildly polyamorous knitter. I couldn't imagine only knitting one thing at a time. There have only been a few instances, normally when I'm working on a deadline, where I will work on only one thing alone. Sometimes, I'll even work on multiple things in the same day.
I have a short knitting attention span. When I'm bored with one thing, I'll move on to something more engaging. When I'm frustrated with a complex project, I'll switch to something simple.
Different knitting projects are good for different situations. I would never take an afghan on the train, and I wouldn't bring a complex cabled sock or an intricate lace shawl to knitting group. I keep a few small projects going for on-the-go -- socks are great for this (normally simple ones). I keep a few large, simple projects for TV knitting - stockinette sweaters or simple repeats. Complex stuff is computer or desk knitting, where I can easily refer to my chart. Design work is also usually done at the computer, where I have quick access to calculators, scribble pads, and charting software.
On my Ravelry page right now, I have 20 WIPs listed. That's an inaccurate number, since some are stuffed in the cupboard, and some haven't been cast on yet. But I estimate I have about 12 things actively on the needles right now. Too many? Probably. I would definitely get things done quicker if I didn't work on so many things.