Duty versus desire
Aeneas is constantly pulled between what he wants and what the Fates demand. He wants to stay with Dido. He wants to grieve. He wants rest. The poem forces him to choose duty every time, and it shows how much that costs him personally.
The price of empire
Rome gets founded, but the poem tracks every death, every loss, and every betrayal that makes it possible. Dido dies. Pallas dies. Turnus dies. Virgil builds Rome's origin story out of grief, not glory.
Fate and divine will
The Fates have already decided that Rome will be founded. The gods can delay or complicate that outcome, but they cannot stop it. This raises a real question the poem never fully answers: if the outcome is fixed, what is the point of human struggle?
War and its costs
The second half of the poem is a war epic, and Virgil does not glamorize it. Good people die on both sides. Aeneas wins, but the final act is a killing driven by grief and anger. War produces the outcome Fate demands, but it breaks the people who fight it.
Identity and homeland
Aeneas is always between worlds — no longer Trojan, not yet Roman. He carries his past with him literally (his father, his household gods) while being pushed toward a future he has never seen. The poem asks what it means to belong somewhere when your home is gone.