Estimado Axell Osiel García Rivas, una de las diferencias es que addEventListener no funciona en versiones anteriores a Internet Explorer antes de la version 9.
Otra gran diferencia es que si quisieras ejecutar varias funciones al mismo tiempo con addEventListener lo puedes hacer, sin embargo si lo haces con onclick solo se ejecutara el ultimo metodo asociado al evento onclick.
Te dejo estos dos ejemplos que te podran ilustrar la diferencia:
<!DOCTYPE html>
<html>
<body>
<button id="btn">Click here</button>
<h1 id="text1"></h1>
<h1 id="text2"></h1>
<script>
let btn_element = document.getElementById("btn");
btn_element.addEventListener("click", () => {
document.getElementById("text1")
.innerHTML = "Task 1 is performed";
})
btn_element.addEventListener("click", () => {
document.getElementById("text2")
.innerHTML = "Task 2 is performed";
});
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<button id="btn">Click here</button>
<h1 id="text1"></h1>
<h1 id="text2"></h1>
<script>
let btn_element = document.getElementById("btn");
btn_element.onclick = () => {
document.getElementById("text1")
.innerHTML = "Task 1 is performed";
};
btn_element.onclick = () => {
document.getElementById("text2")
.innerHTML = "Task 2 is performed";
};
</script>
</body>
</html>
Espero haberte ayudado.