A node is a physical machine running as part of the Internet Computer.
A replica is an instance of Internet Computer software that runs on a node. It implements the Internet Computer Protocol (ICP).
So nodes are hardware, replicas are software.
There’s another slight difference.
Every node belongs to one subnet (not necessarily the same). All of the nodes in a subnet replicate state and computation to achieve consensus. Hence, the term “replica”. So you’ll often hear replicas specifically used in the context of a subnet, whereas nodes can be used more generally, i.e. node providers, tokenomics, etc.