First, there is a mildly related question on the topic of when adjectives use -lich and when -ig. So I’ll start with those two.
Farblich, as was noted in the question’s comments, is clearly an odd one out here, and it is the one I would least translate with coloured. The suffix -lich can often be traced back to an old and obsolete word for body; therefore, farblich is a lot more on the topic of the colours present.
Das passt farblich nicht zusammen.
These colours do not match. (literally: This doesn’t fit together by colours)
Farbig uses the suffix -ig which declares the type of something. Thus, if something is farbig, it contains colours. You can specify which colours but it can just generally mean contains a colour, too.
Das eine Bild ist farbig, das andere ist schwarz-weiß.
One of the photos is coloured, the other is black and white.
You can also easily create compounds with farbig, for example zweifarbig, mehrfarbig, … meaning two-coloured, multicoloured etc.
Bunt is closely related to coloured, but actually means colourful. If something only has one colour, no matter how bright it is, I wouldn’t call it bunt. Also, if there are multiple colours present, but they are similar shades of one another, or are maybe all pastellish in tone, I would be hesitant with the word. Something that has two distinct colours (red and yellow, for example) can be called bunt. Note that all of the objects I ‘described’ could have been called farbig (because they have at least one colour).
Bilderbücher oder Bauklötze für Kinder sind meistens sehr bunt.
Picture books or building bricks for children are usually rather colourful.
Der Eisvogel ist ein sehr bunter Vogel — viele Papageien sind aber bunter.
The kingfisher is a pretty colourful bird — many parrots are more colourful, though.
According to TaW’s comment, in the specialised context of printing apparantly bunte Farben can refer to actual colours while unbunte Farben means greyscale — in case you ever come across that.