There are two problems with appraisals in the current environment. First, the appraiser may not be local and therefore may not be familiar with your market. Your lender has very little control over what appraiser is selected - it's often done by an appraisal management company. An appraiser from 100 miles away may rely on comparables that are not really comparable or may not correctly adjust for location, upgrades, and condition of the property. Second, the appraiser will not likely know all the details of the sales he or she is using as comparables and may not adjust properly for conditions of sale. For example, a sale may be a foreclosure sale where cash only was required or a short sale where the listing agent had a buyer in pocket. In both cases, the property was not really exposed to the market. Such sales must be adjusted if possible and discarded otherwise.
If you live in a tract subdivision, it should be easy to get the most recent comparable sales in the subdivision from the agent that sold you the property. The agent should be able to tell you which sales are the most comparable and why. You can then politely provide those comparable sales to the appraiser with the agent's comments. That agent should also be able to give you a fairly tight range of what the property would sell for in the current market before you write the check for the appraisal.
If you live in an area where all the properties were custom built at different times and are of varying quality, age and condition, the appraiser's job (and yours) is much harder. In that case, about the best you can do is provide the comparables your agent would use to price the house for sale and hope the appraiser comes up with a reasonably accurate value.
You can try disputing an inaccurate appraisal, but appraisers are very defensive. If there is a glaring error, you may win the battle.
Zillow and their Z-estimates aren't worth anything. Period.