Whether you're writing a completely code-based application or a 3D game, it's important to make sure that unused objects are regularly deleted to avoid overloading the program. Our bullets don't exactly play an important role after they are shot; they sort of just keep existing on the floor near whatever wall or object they collided with.
With a mechanic such as shooting, this could result in hundreds, if not thousands, of bullets down the line, which is something we don't want. Your next challenge is to destroy each bullet after a set delay time.