I normally change them once every two months, or so. I used to keep them on for years (uni days - on a budget). Now I try not to keep them on for too long. Why?
1. I just love the sound of new strings and they're nice to play.
2. When your strings have a lot of corrosion on them, they can leave unsightly marks on your frets and fretboard. The tone is also terrible. No sense having a $1,000 guitar but it sounds terrible cos you won't shell out $15 for new strings... It's not too bad if you play electric though, or have a cheap guitar...
You can prolong the life of your strings by wiping them down with a cloth after each time you play. The sweat (salt) from your hands causes them to corrode faster.
God has placed me on earth to accomplish certain things.
Right now, I am so far behind that I will never die.
I change them every holidays
So that's about 3-4 times a year
I've never broken a string, but I think that if I ever break one, I'd change them all.
I like the feeling of new strings, and when they're new, you can hear all the harmonics ring out.
and oh! I last used my guitar on Sunday, took it out yesterday to find that the strings have gone dark colour and lost their new-ness and even gone a bit rough (rust/oxidation?). So I scratched it off the string and wiped it down.
I must have forgotten to wipe under the strings!