A Bitcoin node is essentially just a storage device, like a laptop or a PC with internet access, that has the capacity to store the Bitcoin blockchain. These nodes relay information from users to miners. They also store the Bitcoin blockchain.
Nodes are synchronised with each other. Even if a node is offline for some time, it will download the latest data from the other nodes once it connects to the internet again.
Think of it like a Google Sheet you've got View-only access to. If you have access, you can see the sheet at any time that you're online. When you're offline, any changes made by people with edit access will then update to the sheet next time you're online.
If we ended the analogy here, this would be what is known as a lightweight client. A lightweight client, however, cannot be referred to as a node. To be a node, you have to be a "full" client. A full client is a client that owns the blockchain and is also sharing blocks and transactions across the network.
Anyone with a storage device that has enough space and is connected to the internet can run a node.
A node doesn't necessarily mine Bitcoin. All miners are nodes but not all nodes are miners. They are still vital to the ecosystem, though, as they contribute to decentralisation, and therefore, the security of the blockchain. Thanks nodes.