The industry standard for creating smoke effects are particle generators in 3D apps such as Maya and Trapcode's Particular for After Effects. Both enable you to create particle images that resemble smoke, but it's a long and tedious process that requires extensive software knowledge and hefty render times.
Like many creatives, we don't have the time, the patience or the render farm to deal with all of that. If we have to create organic imagery or animations, we look to the real world. Smoke, of course, is very hard to control and manipulate, let alone light and shoot. So we like to take a cue from psychedelic film-makers and use a simple fish tank filled with water and some food colouring. This process is still used today at high-end motion graphics studios to create scene transitions or wipe text, and the imagery can itself feature as a visual element. In this tutorial we'll cover the entire process from setting up and shooting to correcting colours and blending with other imagery.