Do your research – look on the Internet for colors, textures, and patterns for patios, driveways, or whatever your project may be.
Get several estimates. And when you call these companies, note how long it took them to respond to you. This will be a good indicator of the way they run their business.
Make sure you have everything in writing! Have a contract that includes a payment schedule (and never pay for a job all upfront). If the company offers any warranties, make sure these are in writing as well.
Some of the detailed concrete can require future maintenance. Make sure you ask about any special care required to keep your concrete looking fabulous.