TL;DR: Nodes play a vital role in the Bitcoin network by acting as its peer-to-peer infrastructure. They validate and relay transactions, ensuring they adhere to Bitcoin's protocol rules, resulting in each node having a comprehensive, verified transaction history from the genesis block. For users, operating a node offers independent transaction verification, eliminating third-party trust. It gives greater control, privacy, and security over financial activities, preventing data queries that might expose wallet details. Moreover, by running their own nodes, users bolster Bitcoin's overall decentralization and robustness.
The role of a node is manifold.
From the network's point of view, it acts as additional infrastructure for the Bitcoin network, carrying traffic in the form of blocks and transactions and distributing that between peers. It verifies the transactions it receives to ensure they are valid and do not break any of Bitcoin's protocol rules. It also verifies the validity of every new block it receives and appends it only when no rules are broken. This results in every node having a complete, self-verified view of all the transactions of the Bitcoin blockchain since block zero—the genesis block. If the node is a Bitcoin full node and keeps the full copy of the blockchain, it can serve blockchain data to nodes that newly appear on the network, enabling them to bootstrap into full nodes with their own copy of the blockchain.
From the user's point of view, running a node allows you to independently verify transactions without needing to trust a third party and is highly recommended for processing their own incoming and outgoing transactions for complete control over their financial transactions. Running your own node also comes with certain privacy and security advantages since you do not query other nodes for data, which can give away valuable insights into the structure of your wallet and funds. Users can also contribute to the overall robustness and decentralization of the Bitcoin network by running their own nodes.