If the car's "check engine" light is on, a code has been created in the car's computer that can be checked by a code readers. A code reader can be purchased for $50-$100, or many auto parts stores will scan the codes for free. You can look online to see what the code means before going to the shop.
If the car is not moving or doesn't want to start it is a serious problem.
If it is moving, but I hear strange noises, it could be something wrong with engine or mechanical parts.
If I smell strange odor could be hole in the exhaust-stroke.
If there is a flat tyre it means the wheel has to be changed.
You can run it and try to hear any wierd noises or if the car acts weirdly or if it consumes more fuel than normally. You can also ask someone who is knowledgeable with cars.
I put my car model into Google and generally come up with a fix it site. I then look for problems on their site that sound like mine. I'll go to several sites to check different answers. I then feel pretty comfortable about what I'm talking about.
There are numerous websites and blogs dedicated to diagnosing problems with vehicles based on sight, sound, smell, and behavior. Type your symptoms, make and model in a search engine.
Every car owner should have an OBD (On Board Diagnostic) reader. This tells you why your 'check engine' light is on, and often you will be able to do a repair yourself or at least avoid the diagnostic charge unnecessarily. You can get one for under $50, and there are many Internet resources to tell you what the codes mean.
The ideal in diagnosing what is wrong with your car is to find a shop that you can trust. Ask your friends and colleagues. That is how I found 2 good shops; the atmosphere of both were literally full of integrity and quality of workmanship. Another good way is to find a friend who knows and loves to diagnose engines.