Yes, you are correct - in order to delete a team there needs to be no related data entered for that team since you wouldn't want to accidentally delete that team. There is a work-around, however. If you rename a team to "Sample Team", then regardless of how much data is entered for that team, it'll let you delete it.
The exception is that if the team is linked to TheOneDB - under no circumstances can a team be deleted if it is linked. There will be a chain link icon showing next to the team to indicate that it is linked in those cases. It is possible to un-link a team from TheOneDB as long as that team has no linked games associated with it. If it does, then all their games need to be un-linked first (or deleted by the league scheduler / administrator). After un-linking the team then the above trick will let you delete it.