If you look at a cube from a 45 degree angle (with a corner facing you), you'll see that its silhouette is a hexagon. We can get a lot of mileage by treating hexagons as two-dimensional projections of cubes for algorithmic purposes.
For more information on the hexagon-as-cube approach, check out Amit's post. It is the definitive answer on implementing hexagonal grids in games.