How often should guitar strings be changed?
Asking when strings should be changed is a loaded question because it can be answered in many ways. However, there are a few things that will make it pretty obvious when you need to change your strings.
Note before continuing: I'm only concentrating on steel guitar strings here and not nylons. I don't use nylons so I couldn't advise on those.
If you see blackness start happening on the unwound strings, as in the high E, B and G, that's almost always rust. And rust is bad to dig in to your finger pads.
When you see rust, change those strings out immediately.
Also, if you see black "strips" on a brand new set of strings, those are rusted and should not be used. Take them back to the shop, show them the rust if you need to, get another set and inspect them before you leave the store. Chances are if one set is rusted, a whole bunch of them are rusted.
This usually only happens on strings that are really old. It's when parts of the string start getting fret dents where you will see little "humps".
If the strings aren't rusted (or of it's a stainless steel or coated type), you technically don't have to change them, but you should because strings with dents result in nasty fret buzz.
Constantly going out-of-tune
Over time after being picked a lot, a steel string starts losing its stability and will be more difficult to keep in tune.
This is a bit of a weird one because your strings may still look good. But even if they look good, if they constantly go out-of-tune and are over a month old, it's time to change them.
Things that do NOT require your strings to be changed
Sticky-feeling strings is either the result of you not washing your hands before playing, or the guitar being in a room where dust is flying around and collects on the strings, or you're putting something on the strings that acts like dust and makes them sticky (like talcum powder/baby powder).
Some players think that the moment you hear a string make a kinking noise in the nut, the strings must be replaced.
It is totally possible to install a brand new set of strings and hear the kinking sound at the nut. And that means the nut slots need to be cleaned out. You can clean nut slots with dental floss. If there's still kinking after that, lubricate the slots with lead shavings from a pencil.
Loss of sheen
New strings are shiny. Used strings aren't. However, your strings will go from looking shiny to being not-shiny quickly after your hands get on them, and that's just the way it is.
As long as there's no rust, no dents and the strings aren't old, no string change is required.
How soon will it snap?
In my experience, I encounter the most early string breakage from bad string sets. I don't snap strings often, but when it does happen, it's almost always from strings that are just junk.
Now when I say "junk", I'm not referring to any particular brand of string. Sometimes it just happens where you'll buy a pack of strings and they will just be bad right out of the box.
What I personally do to avoid that crapola is purposely buy strings online, because in a guitar store, you never truly know how long a pack of strings has been in the shop.
For example, you may see your brand of string that you like in the store, and the packaging looks very new. Well, those packs of strings for all you know might have been sitting in the back storeroom for over a year, and the store only opened that box last week. If you have ever had two packs of strings break really quick one right after the other (and yes that has happened to me), it's pretty much guaranteed you bought those strings from the store and they're really old - even though they looked new.
When I buy my preferred Dunlop DEN0942 strings, I get them from Amazon, and to date I've not received a bad set yet. However, for the same string I buy from my local guitar store, I've had several bad sets.
Why does Amazon deliver better sets of guitar strings? Because they constantly rotate the stock when it needs rotating. That, and if they keep getting complaints that some company working with Amazon is selling bad strings through them, Amazon cuts them right out and gets someone else that delivers proper quality merchandise.
Do I spend more on strings when buying through Amazon? No. The time and fuel cost it takes to get to my local GC, along with the fact that at times I will get a bad set of strings from them (or no strings since they have stocking issues with my particular brand choice), I actually save money when I buy from Amazon.