Because it imparts a different flavor that oils. The same reason we use olive oil rather than safflower oil or, to take it away from fats, chicken stock rather than turkey stock. It all depends on what is being prepared and what will go with it well.
Yep, basically flavor. Scramble a couple eggs using butter, a couple in bacon fat and a couple in olive oil. All three will result in scrambled eggs, and each will taste different than the others. And chances are good that all else being equal, the butter eggs will be just a bit fluffier and creamier
than the others.
Of course, there are issues with smoke points of the various choices when frying, and why lots of folks use a splash of oil in their butter, or a pat of butter in their oil, whichever way you want to look at it.