A client is any application which allows a user to connect to the Bitcoin (or alternate) network. Alternately, "client" may refer to a non-standard user interface which interacts with the Bitcoin network through a standard client.
Clients connect to the Bitcoin network in some way. Typically clients connect using the Peer-to-Peer Bitcoin protocol. Such clients can either be full nodes or SPV wallets. Full nodes will fully validate every transaction and block that they receive and then relay the valid ones to its peers. A full node does not necessarily need to be a wallet. SPV wallets will only receive blocks and transactions that pertain to the wallet. They can only partially validate transactions and blocks as they lack the full blockchain.
Other clients may interact with the Bitcoin network via a connection to another client connected to the Bitcoin network. For example, a software could interact with a Bitcoin Core node via the JSON-RPC interface. From there it can receive blocks and transactions and parse that data.