An external account sends
ether to either another external account or a smart contract identically--by initiating an signing the transaction. The smart contract will only receive the
ether if the called function is marked
In the case of an external account sending to another external account, the
ether simply transfers (as long as the sender has the money), no problem.
A smart contract can send
ether, but that send must have been initiated from an external account to begin with (in other words, smart contracts cannot initiate transactions). In the past, people called this type of send an
internal transaction, but these days its called a
Be careful with the word "message," though. I can initiate an external transaction to another external account and insert a
message by stuffing text into the
input field. My friend can then read that "message."
The other type of
message you will hear about is a
message coming from a smart contract.
As far as "why does a contract not need to sign...", think of it this way: The smart contract is
autonomous. There's no-one there to sign anything. Plus the smart contract cannot initiate transactions. Furthermore, if a smart contract could initiate transactions and sign them, its private key would necessarily have to be stored on the blockchain. Everyone could see it, anyone could steal it, and it would be easy to impersonate the smart contract, so it wouldn't work in any case.