Other than that, they are pretty much the same. Usually, a fabric ensign is called a flag when it flies horizontally and is attached to a vertical flagpole, and called a banner when it hangs down from a horizontal pole. If the pole is diagonal, then either term can be used.
This page introduces a particular type of banner called a gonfalone.
The photo on the right has a point dangling down from a crossbar. It was a puzzle until somebody kindly pointed out what it was: a modern representation of a gonfalone.
A gonfalone is a banner used in heraldry. It often has streamers or a swallow-tailed lower edge, as though it had been dragged through a battle field. But unlike the banners seen hanging from a pole attached to a wall, the gonfalone is suspended from a crossbar, which in turn is suspended by a cord wrapped around the head of a spear.
In medieval Florence a gonfalone was a neighbourhood meeting, with each district having its own coat-of-arms. These were often sewn or printed on a cloth, suspended from a crossbar on a pole, so they could be easily transported to and from meeting venues. Later, businesses and craft guilds copied the idea of marking their logos on such banners, which became known gonfalone.
And like many other things adopted by the Church (see Pagan Customs used in Christianity) the gonfalone is also used extensively in ecclesiastical ceremonies.
Where a municipality's gonfalone might feature a cross, and a guild's gonfalone might show a symbol related to their craft or industry, the church gonfalone typically depicts a patron saint or icon. The portability of the design makes these particularly useful for processions.
The origin of the word "flag" is uncertain, but could be onomatopoeic variation related to flagellation (L. flagellationem). The word "banner" is from the Old French baniere and the L.L. bandum (standard).