There's always more to be said on this contentious topic, but I'd recommend checking out this great answer by /u/kochevnik81.