The Merkle tree structure is essential for section 7 (Reclaiming Disk Space) and section 8 (Simplified Payment Verification) in the whitepaper.
With simple concatenation, the only way to be convinced that a transaction exists in a block is to have access to the hashes of all transactions, which requires a lot of storage space.
With a Merkle tree you can:
Prune large parts of the history, and still know that the data left intact is a legitimate part of the block.
Convince a specific node that a transaction exists in a block, by showing the Merkle branch.
Merkle trees are also used in pooled mining, allowing the miner to construct the generation transaction independently while the pool or another node builds the bulk of the block.
Some more details are in this answer.
Note: the question above is not exactly the same, but the top answer on it works perfectly as an answer to this question. – chytrik – 2018-07-02T10:29:45.267
I take it you have researched Merkle Trees and understand how they work? – Willtech – 2018-07-02T10:42:33.447