Redundancy is often essential for achieving high system availability. An additional benefit of installing redundant components is that the total system load can be shared among these components, thus preventing fast deterioration. On the one hand, this provides an incentive to replace failed components as soon as possible, as a component failure increases the load on the remaining components. On the other hand, however, redundancy gives rise to maintenance clustering and postponement opportunities, to reduce the maintenance frequency and thereby lower downtime and maintenance set-up costs. To date, this trade-off has not been investigated under a condition-based maintenance regime. To address this, we consider a parallel system that is subject to both failure dependence through load sharing and maintenance set-up costs. We formulate our model as a Markov Decision Process, and obtain the optimal replacement decisions that minimize the long-run average cost per time unit. We first analyze a stylized model with two components to obtain insights into the structure of the optimal policy. Next, we include additional components to investigate the trade-off between cost savings through load sharing and the cost increase from maintaining these extra components. Through a numerical investigation and a sensitivity analysis, in which we vary the degree of load sharing and the maintenance set-up cost, we obtain the following key insights into the optimal policy structure. Postponing and clustering (corrective) replacements can be highly cost efficient for a low degree of load sharing, while including an additional component is most beneficial for a high degree of load sharing. Standard threshold policies, that replace a component as soon as its deterioration exceeds a certain threshold, are not able to capture this behavior, and may therefore be up to thirty percent more costly.