There are several possible explanations for this:
Twin-to-twin transfusion syndrome can cause one twin to be born larger than the other.
Sometimes in a twin pregnancy the placenta does not grow large enough to provide enough oxygen and nutrients to both fetuses. Or one fetus may just have implanted in a location within the womb that gives it better access to nutrition. As a result, one fetus may grow at a slower rate, and would be smaller at birth.
Fraternal (DZ) twins may have inherited different genes from their parents that cause them to grow at different rates in the womb. DZ twins are as genetically similar as non-twin siblings. Non-twin siblings can have very different birth weights. This might explain why some DZ twins have very different birth weights.
Superfetation is the name of an extremely rare situation that has only been reported about 10 times in the medical literature. It occurs when a woman who is already pregnant becomes pregnant a second time with another, younger fetus. This is different from the process of fraternal twinning. In fraternal twinning, the two eggs are produced in the same menstrual cycle. They are fertilized within a few days of each other, and they are implanted in the womb at close to the same time. In superfetation, the second fetus is conceived several weeks after the first fetus, at a time when the first fetus is already developing in the womb. Gestational age is a term that describes how far along a pregnancy is. The two fetuses produced from superfetation would have different gestational ages. They would have different due dates because they were conceived at different times. At birth, the twin with the later due date would be smaller and less developed than the twin who was conceived first.
In 2020, a UK mother conceived twins three weeks apart. Because she was undergoing fertility treatment, ultrasounds at 7 and 10 weeks showed that one baby had been conceived. However, at the 12-week scan, a second baby was seen.