read up on the basics of IEEE 802.15.4.
Essentially, this is like Ethernet where you can send packets to a specific destination MAC address (radio module ID), or to the all 1’s broadcast address.
An often used option is to have the receiving end send an ACK upon error free reception. Retransmission n times is done by the sending module, automatically.
With the XBee, series 1 is the best choice if you are not going to use meshing. With meshing, packets can hop from radio to radio to increase the distance between two radios, or overcome RF blockages between the two. ZigBee is the primary intent of series 2.
Without ZigBee, you may have your own code to forward packets on a static address basis where the nodes don’t move.
ZigBee is a big complication but useful in some situations, if your routing nodes are not battery powered.
The Digi (Maxstream) Binary API (see their manual) allows you to do 802.15.4 networking as above via the serial port. This is a vast simplification versus trying to write C code to mix into the frey with the radio module vendor’s MAC code.
You can also use XBee’s transparent serial port firmware mode. Here, you setup radio pairs using their MAC addresses, then application programs just talk serial port I/O.
Also in XBee’s firmware, for series 1 and maybe series 2, is the means for you to configure radios to get I/O pin conditions and recreate these on another radio’s I/O pins. And A/D converter samples sent at your desired rate from A to B.
Often, these eliminate most/all software development. But the Binary API mode allows you to do most anything.
As to power conservation, XBee’s allow you to program a sleep time. Per IEEE 802.15.4, non-routing (non-mesh) radios can wake-up and send a poll message to their coordinator to see if there is traffic waiting. Not very reliable, unless you are careful about how long the coordinator will retain a waiting packet, and so on. Only end nodes can sleep and poll.
With the Binary API, you can do a peer-to-peer network, no coordinators, and work out your own scheme for sleeping and who holds what data for how long during sleep. And work out a time synch’d rendezvous among sleeping nodes. This is what IEEE 802.15.5 when used with 802.15.4 will do (new standard). Also, DigiMesh does this, as an alternative to ZigBee.
You mentioned BlueTooth. For data transmission, Bluetooth is 5x cost of 802.15.4 modules.