Really interesting piece on silicon.com about this topic, including the difference between the two, when you need one and not the other and how each function aspires to improve