XCM is related to cross-chain in the same way that REST is related to RESTful. XCM cannot actually send messages between systems. It is a format for how message transfer should be performed, similar to how RESTful services use REST as an architectural style of deployment.
XCM aims to be a language communicating ideas between consensus systems.
The main reason to use XCM protocol in Lido liquid staking on the Polkadot network is to create a communication channel from the Moonbeam parachain to the Polkadot relay chain. XCM messages have a concrete structure which is used for each type of message. We have created a special contract to build and send XCM messages from the parachain to the relay chain to update the state of nominators. That special contract is used only from ledgers when it is necessary to update the nominator state on the relay chain.
Staking ledgers use a special contract to build and send XCM messages to the relay chain to update nominators' state.