A/C problems can be caused by either leaks, clogs, or poor pressures. Everyone tends to point towards the compressor for bad a/c performance, but it's not always the case. Diagnosing a/c problems is easy if you know what you're doing. First the system should be evacuated to see how much refrigerant comes out. Then FULLY re-charged, and ran for 10-15 minutes while checking for leaks with a leak detector and monitoring the hi and lo side pressures. Half the times, a leak will be found...the other half the times, under spec pressures will be found. When you find a leak, its easy to fix, just replace the leaking part. When pressures are off, but no leak is detected, it can get tricky. It can be from the compressor malfunctioning, it can be from a clog, it can be from a malfunctioning expansion valve and/or receiver/drier. You need to know how to look at the pressures on both sides to properly detect the problem. If you cant do this yourself, take it to a GOOD shop, the dealer is probably the best place because if it is mis-diagnosed and repaired the first time, they will re-repair it free of charge the second time around.