Is having a routing.yml file necessary? I'm new to Drupal 8, and was curious why some modules have a *-routing.yml file, while others don't.

Why is this the case? Does this mean that modules lacking in a *-routing.yml file don't have any routing URLs?
*.routing.yml is used to define custom endpoints and their receiving controllers. It's the config version for hook_menu in D8. If the module does not introduce custom paths, then it will not need one.