Network systems consist of subsystems and their interconnections and provide a powerful framework for the analysis, modeling, and control of complex systems. However, subsystems may have high-dimensional dynamics and a large number of complex interconnections, and it is therefore relevant to study reduction methods for network systems. Here, we provide an overview of reduction methods for both the topological (interconnection) structure of a network and the dynamics of the nodes while preserving structural properties of the network. We first review topological complexity reduction methods based on graph clustering and aggregation, producing a reduced-order network model. Next, we consider reduction of the nodal dynamics using extensions of classical methods while preserving the stability and synchronization properties. Finally, we present a structure-preserving generalized balancing method for simultaneously simplifying the topological structure and the order of the nodal dynamics.