According to the Cisco support forums,
Ad-Hoc means peer-to-peer while
mesh means bridge-to-bridge or router-to-router, meaning in a mesh every node has the capability to route.
So would mesh networks be subparts or subcases of ad-hoc networks?
In wireless networking, Ad-Hoc is one of the modes of operation for an 802.11 radio. It happens at OSI layer 1, the physical layer, and it basically means that all devices can communicate directly to any other device that is within radio range. Normally, in Infrastructure mode, wireless devices can only communicate with a central Access Point or Router and that device is responsible for re-transmitting packets from one client device to another client device (even if they are right next to each other). Ad-Hoc networks get rid of the middle-man that is the AP, however they don't have any inherent capability for multi-hop. That means, if device A can reach device B, and device B can reach device C, but A cannot reach C, then A and C cannot communicate because B will not re-transmit any packets.
Mesh Networking, also know as Mesh Routing happens at OSI layer 3, the network layer. Mesh Routing allows each device on a network (also called nodes) to act as a router and re-transmit packets on behalf of any other devices. Mesh Routing provide the multi-hop facility that Ad-Hoc mode lacks. By combining Ad-Hoc mode at layer 1 and Mesh Routing at layer 3 we can create wireless mesh networks purely between client devices without any need for centralized Access Points or Routers.
P2P or Peer-to-Peer simply means that clients talk directly to each other without the use of a central server. Both Ad-Hoc and Mesh Routing can be described as P2P as they are both instances of clients-to-client communication, just at different layers of the OSI model.
I think the distinction between them is quite difficult since an adhoc network could grow into a mesh network.
Ad hoc : simply infrastructure-less type of network(no dedicate Access points or predetemined infrastructure) that is meant to serve any purpose, and they are built spontaneously. these type of networks are simple and could be set easily. common applications can be seen in simple sensor networks.
mesh: infrastructure-based type of networks. could be seen in wireless or wired networks in the sense that they are permanent type of networks. they are more structured than Ad-Hoc networks. they might be hierarchical . common applications can be seen in variety of applications;home monitoring and control, military applications(communications and reconnaissance),environmental monitoring, and so on.