"Why is he late?"
Translation:Perché è in ritardo?
Tardi is an adjective, and ritardo is a noun. Tardi is used to say he is late or I didn't find out till too late. Where ritardo is used to describe being late for a specific time. Like we all were late for work or I will notify everyone at work that there will be a delay because of the snow. (Ritardo can also be used for "delay". Basically describing being not on time for a specific event or timeframe)
I used 'lui' because the gender is undefined. I have reported it. Of course if you are talking to someone about a person that you know, then the sentence is OK. It does seem to me though that, after five years since it was first reported, Duo is sticking to its guns. Either that or they are ignoring the reports.
Essere+tardi is only used when referring to time in general, as in "tomorrow is too late"; when referring to someone/something being late it's either "fare tardi" or "essere in ritardo". However, the simple present doesn't feel right with fare, it could be either "Perché sta facendo tardi?" (he still hasn't come) or "Perché ha fatto tardi?" (he's come in late).