Why are football caps given when someone plays for their country?.They look so silly like an old schoolboys cap or one I used to wear when I was in the cub scouts many years ago.Wouldn't it be more practical to give the player a small badge or medal?.
In the early days of soccer , the players all wore caps when playing. The rules of Sheffield FC, in 1857, for example, specified that caps must be worn of either red or blue, and there are pictures of teams in the last quarter of the C19, sitting proudly and wearing their caps.
So, presumably, the tradition was established then and nobody saw fit to depart from it, anachronism though it is.