In cooperative communication protocols, multiple terminals can cooperate together forming a virtual antenna array to improve their performance. This thesis contributes to the advancement of cooperative communications by proposing new relay deployment and selection protocols across the network layers that can increase the bandwidth efficiency, reduce the end-to-end transmission power needed to achieve a desired network throughput, maximize the lifetime of a given network, rebuild a disconnected network, and mitigate the effect of channel estimation error and co-channel interference (CCI) problems. Conventional cooperative schemes achieve full diversity order with low bandwidth efficiency. In this thesis we propose a relay selection cooperative protocol, which achieves higher bandwidth efficiency while guaranteeing full diversity order. We provide answers to two main questions, namely, "When to cooperate?" and "Whom to cooperate with?". Moreover, we obtain optimal power allocation and present the tradeoff between the achievable bandwidth efficiency and the corresponding symbol error rate performance. We illustrate that the cooperation gains can be leveraged to the network layer. In particular, we propose a cooperation-based routing algorithm, namely, the Minimum Power Cooperative Routing (MPCR) algorithm, which optimally selects relays while constructing the minimum-power route. Moreover, the MPCR can be implemented in a distributed manner. Using analytical and simulation results, we show that the MPCR algorithm achieves significant power savings compared to the current cooperation-based routing algorithms. We also consider maximizing the network lifetime in sensor networks via deployment of relays. First, we propose a network maintenance algorithm that obtains the best locations for a given set of relays. Second we propose a routing algorithm, namely, Weighted Minimum Power Routing algorithm, that significantly increases the network lifetime due to the efficient utilization of the deployed relays. Finally, we propose an iterative network repair algorithm that finds the minimum number of relays along with their best locations, needed to reconnect a disconnected network. We complete this thesis by investigating the impact of cooperative communications on mitigating the effect of channel estimation error and CCI. We show that cooperative transmission schemes are less susceptible to the effect of channel estimation error or CCI compared to the direct transmission. Finally we study the tradeoff between the timing synchronization error, emerging in the case of having simultaneous transmissions of the cooperating relays, and the channel estimation error, and show their net impact on the system performance.