This is really great content on comparision between NLB and ALB.
However, this comparision incline toward ALB as better choice of load balancing client traffic to backend servers but its completely depend on usecase and scenario.
ALB completely good fit where its backend are web based HTTP/HTTPS traffic and where multiple micro-service running on same virtual machine or containers in k8s cluster to route traffic based on context-aware support feature. but NLB is best fit for other than HTTP/HTTPS web based traffic specially when backend is database servers or gaming server and where long and active network connection required and this is good choice for end to end TLS/SSL connection as NLB simply forward incoming encrypted traffic to backend server