When staining concrete, you will have to decide if you want to use an acid stain or a water-based stain.
In terms of color choices, a water-based stain will have a much more broad range of shade choices than an acid stain. Acid stains produce natural colors such as browns, tans, or light reds (think terra cotta). Water-based concrete stains can range in colors from black and white to vibrant yellow or orange.
A water-based concrete stain is the less labor-intensive choice out of the two options. It's an easy option for anyone feeling unsure about the staining process. If you overapply the stain in one area or make a mistake, you can diffuse the color using water and fix the mistake. When applying the stain, a water-based stain will produce one solid color across the whole surface. You can, however, create a more varied look by diluting the color before applying it in certain areas.
An acid stain is going to produce a mottled or stone appearance, one that you would recognize from a backyard patio or pool deck. The acid stain has reactive properties and is considered to be a permanent option for both interior or exterior surfaces. It also will not peel or fade quickly when exposed to sunlight or the elements, which is why it's a popular option for outdoor concrete surfaces. Due to its reactive properties, the color you choose for your acid stain might not be the exact color that you end up with. There's no guarantee for how the stain will react to the surface, with the age of the concrete, mineral composition, and location of the surface all affecting it.
Regardless of which stain you choose, you should always have both options on hand in your chosen color. If you're going with an acid stain, have the water-based stain of the same hue on hand so if there are areas of the concrete that don't take to the acid stain, you can still stain it with the water-based version.