Peer (Node)
A node is a peer in a peer-to-peer network. The idea here is that all peers have the same role and responsibilities. Their roles are not differentiated.
Client
A client typically is a type of participant or role in a distributed application structure called client-server. Clients communicate with servers and not with other clients.
Servers primarily communicate with clients and not with other servers. When servers communicate with other servers they might use a different protocol (e.g. SMTP instead of IMAP/POP) or otherwise act as a client instead of as a server in that relationship.
Bitcoin
The Bitcoin network was designed as a peer-to-peer network. Not as a client-server network.
Bitcoin core
Strictly speaking, calling a program such as bitcoin-qt
a client is misusing client-server terminology for peer-to-peer distributed-application structure.
bitcoind
is a server (for the RPC API) but note that bitcoin-qt isn’t a client for bitcoind at present.
bitcoind
and bitcoin-qt
are both nodes or peers with respect to the peer-to-peer Bitcoin network protocol. Both are servers (not clients) with respect to the network-accessible client-server RPC API. bitcoin-cli
is a client for that.
See related question about constituent programs of Bitcoin Core