What makes porting so difficult? So now when the new Lollipop is on it's way we all have our feeds filled with magazines or sites telling us how awesome LG or Samsung is to release Lollipop so soon.

My question is,

Why is this such a hard thing to do?

How come it's much easier to switch from Windows to Linux on a PC? Or even switch hardware product and download a driver? Why aren't the drivers or hardware products in our phones compatible with every operating system or phone model just like a PC?

Okay, screen sizes may differ, but a vibrator will still work as a vibrator.

YElp!
The hardware is different on each device. In addition there's added value software like more advanced camera functionality from the manufacturer which needs to look good on the new release.

LG has features loke knock-code.

Samsung has skins and special hardware like a wacom digitizer on the note series.