It's normal and okay for a 5 year old boy to wear diapers.
However at 5 years old the kid should be potty trained and out of diapers during the day if they are healthy and have no disabilities or autism.
But if the 5 year old is not potty trained by 5 then they should be forced into potty training as they have to be potty trained to go to Kindergarten.
But if they are incontinent or need diapers then they should wear the diapers.
It is normal for a 3 year old boy to wear diapers.
Some 3 year old boys are not potty trained and need to wear diapers during the day and night and that is okay.
Also some 3 year olds and older kids may need to wear diapers at night for bed wetting and that is also normal.
Although a lot of 3 year old boys are potty trained some just are not ready to be.
It is normal for a 2 year old boy to wear diapers.
Although there are some 2 year old boys who are potty trained and out of diapers most 2 year olds do wear diapers and are not potty trained.
There's no actual age at which a child has to be potty trained as all kids are different.
While some kids can potty train and no longer need diapers at 18 months of age to 2 years of age some kids just take longer.
Your kid will potty train when they are ready and not before.
Forcing a child to potty train before they are actually ready will make the potty training take longer and could lead to the child developing bladder infections and bowel issues.
When a child is fully ready to potty train they will potty train within a few days to a week.
Even some kids take as long as 4 to 5 years old to potty train.
My nephew who is now 10 years old didn't potty train until he was almost 8 years old although he had a slight form of autism.
But most kids will potty train before then.
If your kid is not potty trained by age 5 then I would worry and start forcing the issue unless they have health issues.
But until then keep the kid in diapers until they are ready.