You are right when you say that pending refers to the migrations that have not yet been run on the database at hand.
If that app isn't yet deployed, you don't need to run migrations to update your database. You can instead update your models to reflect the changes you want. You can always drop/create a database locally for the changes to appear, but only if you are still in development.
If your app is deployed, the database already exists and you want to update it, then when you run the migration command, it will run each new file in your migrations folder. If you're dealing with multiple environments and collaborators on the application, I would just keep the migration files in the folder. Once you create and run a new migration, the previous migrations do not run again so you don't need to worry about them.