A mesh network is a way of setting up a communications system when there’s no fixed infrastructure available. They’re often used for communications in remote sites, and on sensor networks.
If you’ve used wifi, you’ve used an infrastructural wireless network in which there is a dedicated router that talks to all the devices in its range (phones, tablets, laptops, wireless-enabled printers, …) and connects them to the internet. The devices don’t talk to each other directly: if they want to exchange information (to print a document, for example) they do via the router.
Another kind of infrastructural network is the cellular telephone service. All calls go through the cell towers: if you call your friend, and she happens to be standing next to you, your phone still talks to the nearest cell tower which then talks to her phone — a round trip that might be a couple of kilometres! While this sounds a bit barmy, it simplifies the design of the network and the software needed to manage it, and is fine in situations where there is plenty of power and room for the infrastructure.
By contrast to these large-scale systems, XBees provide mesh networking in which the devices co-operate to route traffic from the sensor motes (using router radios) to the base station (running a co-ordinator radio). As well as generating and receiving messages, nodes in the network also co-operate in moving other nodes’ traffic. There is no infrastructure — the nodes are both the users and the providers of the network — which means a mesh can be deployed in areas without any “official” network coverage, or to provide functions (like low power) that the infrastructure that is available can’t deliver. Each mesh network works on a particular network protocol, different to the ones used for wifi or cellular telephony.