Black flute reduces wild Pokemon encounter rate.
Blue flute wakes up sleeping Pokemon.
Red flute snaps Pokemon out of infatuation.
White flute increases wild Pokemon encounter rate.
Yellow flute snaps Pokemon out of confusion.
(These only do this before gen V. In gen V, they can be sold to a maniac in undella town for money)
There is also the pokeflute, which is used ingame to wake up the sleeping snorlaxes in the Kanto games. It can also wake up your Pokemon in battle.
There is also the azure flute which allows access to arceus once you get to the top of mt. cornet.
There is also the time flute which awakens celebi to purify your shadow Pokemon in Pokemon colluseum.