What is the origin of the colour of azo dyes?
Yes, it is all about the absorption of light at specific wavelength.



Azobenzene, the parent compound has an absorption maximum around $\lambda$= 430 nm in the visible spectrum.

The interesting part is: The absorption can be tuned by substitution of the arenes. This is done before the azo coupling.



Some examples are Allura Red (1), Chrysoine Resorcinol (2), Janus Green B (3) and Direct Blue 1 (4).

The colours of the molecules are chosen to resemble the colour in solution.

In order to make the dyes soluble in water, either sulfonate groups are attached or the dye molecule is just one fat cation.

As already mentioned by GM in another answer, +M substituents elongate the $\pi$ system (auxochromic effect).