"Let's look at the textbook answer first and then we'll talk about how that applies to the real world. An emergency can either be a distress or an urgency condition. Basically, it's any time that you are in doubt as to the safe outcome of the flight. As the pilot in command, you're the one who is responsible for the safe outcome and you have the authority under the FARs to declare an emergency.
The difference between a distress and urgency condition: Distress is obviously that, DISTRESS. The engine has quit, the airplane is on fire, and we have to do something right now. Those are the pretty easy ones to make the decision on. You're going to do what you have to do to complete the flight safely. The really gray ones are the urgency ones. That's what we'd like to talk about here.
What constitutes an urgency condition? Is it that feeling in the seat of your pants that something is not right with the airplane? Is it a warning light? Are you a little low on fuel? Are you unsure of your position? Is the weather getting lower than you would like to see it? Those are all urgency situations. What can you do about it? Well, again, the first thing to do is to fess up and talk to ATC. ATC can be a great resource. They can't fly the airplane for you, but they can definitely help you with some of the tools that you might need to manage the safe outcome of that flight.
The sooner you can communicate the information, the sooner ATC can mobilize whatever resources are necessary to assist you. If you start running into some weather that's significantly lower than you're comfortable with, this is the time to communicate and say... Approach. Ceilings are getting too low here. I'm going to need some help finding another airport. As pilots, we always run into that ego situation where we don't want to self-confess. But I would rather self-confess and say - Hey, I need some help here - than to have it progress to the point beyond where ATC can do anything to help you out."