It is a difficult distinction, I think. Basically, "Somebody has done something" implies that the past action is already completed. They have already done it. "Somebody has been doing something" implies that the past action is still going on. They have done something and are still doing it. Does that make sense?