An Enrolled Agent is a person who has successfully passed a battery of tests administered by the IRS. An Enrolled Agent can represent you before the IRS on any tax issue. There are no formal education or experience requirements to be an EA.
A CPA is a person with at least a bachelor’s degree in accounting and business administration who has fulfilled an experience requirement and taken a series of exams administered at the State level. The CPA exams are about 5 orders or magnitude more difficult than the EA exams.
To put the two in perspective, you could consider an EA as being the equivalent of an Associates degree in taxes, where a CPA is more equivalent to a Masters or PhD in accounting, business administration and taxation. Either should be fairly well qualified to handle most tax matters but since tax law is constantly changing they both need to keep themseves up to date on tax matters.
Enrolled agents can represent clients before the IRS.
CPAs are accountants with a special certification (usually w/in a state).
Either one can do your taxes. Experience and how well you work w/ the professional you choose is what matters.