A Bitcoin node runs a version of the Bitcoin software client (typically Bitcoin Core) that connects the user to Bitcoin's open peer-to-peer network. Anyone can run a Bitcoin node, the only limitations are the hardware requirements and access to the internet.
Nodes in the Bitcoin network interact with each other by validating, broadcasting, and requesting new blocks and transactions. By doing so, they play an important role in achieving consensus within the network, ensuring the integrity of the blockchain, and protecting the network from harmful or haphazard source code, reorganizations, and other changes to the protocol.
Sometimes, people refer to the hardware on which the Bitcoin software runs as the node, but that is not strictly the definition. You can install and run the software client on any computer and call it a node.