In this article, we have provided a unified view of some basic theoretical foundations and main techniques in convex optimization, game theory, and VI theory. We put special emphasis on the generality of the VI framework, showing how it allows to tackle several interesting problems in nonlinear analysis, classical optimization, and equilibrium programming. In particular, we showed the relevance of the VI theory in studying Nash and GNE problems. The first part of the article was devoted to provide the (basic) theoretical tools and methods to analyze some fundamental issues of an equilibrium problem, such as the existence and uniqueness of a solution and the design of iterative distributed algorithms along with their convergence properties. The second part of the article made these theoretical results practical by showing how the VI framework can be successfully applied to solve several challenging equilibrium problems in ad hoc wireless (peer-to-peer wired) networks, in the emerging field of CR networks, and in multihop communication networks. We hope that this introductory article would serve as a good starting point for readers to apply VI theory and methods in their applications, as well as to locate specific references either in applications or theory.