Escrow accounts are not always required; mortgages insured by certain agencies (for example, ours is an FHA mortgage, which means it's backed by the government) do require them. The purpose is to prevent the house from being seized for nonpayment of taxes, or to be damaged with no insurance because the premium hasn't been paid. It's all for the protection of the mortgage company.
At specified times each year, the mortgage company estimates the various payments that will be made. For me, it's property taxes, homeowner's insurance, flood insurance, and mortgage insurance. Say this totals 3600 for the year. Each month, $300 is added to my base mortgage payment (principal and interest) and stored in an escrow account. At the appropriate times, the mortgage company writes a check to the county for the property tax, and to the various other agencies for insurance etc.
Because these payments are variable, the escrow amount is recalculated at least once a year. Say the original tax estimate was for $800, but the actual bill was for $920. My mortgage payment will increase by $10 a month ($120/12) so that next year, there will be enough available to cover the property tax. My insurance premium might go down, in which case the mortgage payment might go down, because the escrow account can only hold enough to make the projected payments plus a small surplus.