Carter Shanklin and the toolkit's architect Andrey Anastasov have written a nice post explaining object-by-name.
"For its Beta, VI Toolkit implemented the get-then-modify usage pattern. Examples include Get-VM "My VM" | Start VM and Start-VM (Get-VM "My VM"). While constituting the very backbone of PowerShell, this pattern isn't always convenient. And, as VMworld user feedback revealed, it’s not intuitive at all. So, for version 1.0 we added what we call object-by-name.