it was designed for phones with 4mb of memory that need to serialise their entire state everytime a form (activity) disappears because they don't have enough memory and google were too lazy to implement it in the OS
as a result you need to implement masses of error prone boilerplate crap for each and every activity, and nearly everyone gets it wrong in subtle ways
rotate your screen? better implement that serialisation perfectly else the user will lose state when they rotate their device
a lot of apps just disable features like rotation, because they're too time consuming to implement (and a nightmare to test)