So I guess we should start we should start by defining what a bug is from an academic perspective. So from the official ISEB stand point a bug is :
A flaw in a component or system that can cause the component or system to fail to perform its required function, e.g. an incorrect statement or data definition. A defect, if encountered during execution, may cause a failure of the component or system.
Seems fairly straight forward right ? This is where the real world kicks in. Say you find an a defect on a system and you then show it to a product owner saying “hey I’ve found a defect”. The product owner replies “Oh, it’s not great but we don’t care about that affecting our system.” Still a defect then ? As this is a situation I’ve encountered myself I now have the belief that a defect is something that causes an unexpected behavior and affects something that the business cares about
Here’s another situation. You find an unexpected behavior and show it to a business analyst. The BA replies “Oh, I didn’t know that situation could happen in the system and we don’t have a requirement for that.” In this case it’s a new requirement rather than a behavior
So to summarize, a defect is not always a defect. A defect is something that affects business value which we already have a requirement for its defined behavior