I generally pick avatars on the basis of a sort of long-standing theme of what I feel like using to represent myself online at the time, which I've only changed a few times over the course of my internet usage. When I was pretty young I would either not use an avatar at all or just use a plain image of a single color because lazy. Then I started using things on a general fantasy theme, everything from knights to wizards to chimaera and so on. After that I started using just images of knights and paladins, always guy in cool armor. More recently, starting about 4 years ago, I decided to change it up and go for TV and movie villains because I got tired of the armor-clad dudes. I've used The Master from Doctor Who (the one from the Tennant seasons), The Governor from The Walking Dead, Moriarty from Sherlock, and Bill the Butcher from Gangs of New York. Then I decided to use Petyr Baelish (AKA Littlefinger) from Game of Thrones and it just stuck. I've been using this avatar for the past 2 years.
Oh, yeah, the time thing. I usually switch between things for a couple months until I find something I love. Used to be that meant I'd keep it for like 6 months instead of 2, but due to a mixture of laziness and loving how fitting that smirk is to accompany a lot of my posts, I've held on to Littlefinger for a lot longer than that. At this point I might just end up being one of those people who use the same avatar forever, because it just works. :P