In the Ethereum protocol there's only transactions and message calls. A transaction is a type of message call.
A transaction may perform other message calls, but these are not transactions (even though blockchain explorers may label them inaccurately as "internal transactions"). These (internal) message calls are not published on the blockchain.
To try illustrating, a transaction in Javascript looks like:
{
from: ...,
to: "C1",
value: ...,
gas: ...,
data: ...,
gasPrice: ...,
nonce: ...
}
This is what you will see on the blockchain: a "Normal transaction". An "Internal Transaction" is the effects of taking the data
part, feeding it to
the contract C1, and executing the Ethereum Virtual Machine. The data
is what tells C1 that it should call another contract C2: there is no separate {from:C1, to:C2,...}
object on the blockchain that's needed.
Contracts calling each other, along with receiving payment, is the reason why "Normal transactions are usually much less than Internal transactions". For example, TheDAO tokens were originally purchased by calling a function on TheDAO and sending ETH with it.