Creep respawn involves saving the details for every creep in a table and then when that creep dies using the game to recreate it (often a hashtable or index system is used to speed this up). Timers can be involved, or you can enqueue the respawn event to a periodic trigger than processes them like most MUI persistent spells.
Hero respawn is similar but the table only contains player heroes, the respawn point might change based on the last checkpoint they visited and that obviously revive unit native is used instead of creating a new unit.