The short answer
ApoB counts the particles that carry cholesterol into artery walls. Lp(a) is a particle level set mostly by your genes. Both can reveal risk a normal LDL hides.
Checking Lp(a) once in adulthood is widely recommended. ApoB is most useful when triglycerides are high or LDL and your risk don't match.
Source: 2019 ESC/EAS dyslipidaemia guideline; National Lipid Association statement on Lp(a), 2024.