are infinite loops bad practice?
It is not a bad practice, it just means that you did not think your code through. The condition is required to tell the loop when to finish looping. If you have a terminating point, then why not put it as a condition?