Criminal defense attorneys tend to be expensive, but when they do their job well they're worth every cent. The attorney will generally offer you two options for paying: a flat fee, or an hourly charge. In most cases, a flat fee is the better choice, because it ends up being less expensive.
A good criminal defense should be aggressive, and you should look for an attorney who feels the same way. Both you and your attorney should be willing to go great lengths to fight for your rights, since the alternative is time spent in prison or paying massive fines if you're convicted.