In data collection applications of low-power wireless sensor networks, a major challenge is ensuring reliability without a significant goodput degradation. Retransmissions over lossy links are often necessary, but energy is at a premium. The use of short, high-quality hops minimizes the number of per-hop retransmissions, but unnecessarily long routes cause congestion and load imbalance. While the former induces packet loss in the form of ingress drops, the latter causes a non-uniform energy depletion pattern in the network that penalizes the nodes with the best channel to their next-hop neighbor. An unbalanced network imposes a particularly heavy burden on the neighbors of the sink that have to relay all the upstream traffic; in a many-to-one collection tree, however, the lifetime of the sink neighbors upper-bounds the lifetime of the network as a whole. There exists a complex interplay among routing performance (reliability, goodput, energy-efficiency), congestion control, and load balancing. We present an energy-aware data collection architecture for sensor networks, Arbutus, that leverages on this interplay. We thoroughly describe the various aspects of the Arbutus architecture and present the results of the experimental evaluation of its TinyOS implementation. The evaluation is performed on large-scale remote-access testbeds of Berkeley motes (MoteLab, Twist, Tutornet) with 100-150 nodes. Arbutus is benchmarked against the standard TinyOS 2.x network protocol, the Collection Tree Protocol. An extensive performance analysis is conducted, and the broader implications of our results are shown. Tools from the field of transport geography are employed to interpret the most elusive aspects of our evaluation. Arbutus is shown to achieve a level of reliability suitable for most applications while ensuring energy-efficiency. While goodput degradation is contained at low levels of offered load, at relatively high offered load points Arbutus typically provides a significant goodput gain, as it exploits the inter-dependencies between reliability, routing and congestion control.