Такая же разница как между проблемой (или изьяном) и программной ошибкой. К черту эти разводы по понятиям. Еще к тому же и английским.
Есть два вида изьянов, из-за одних заказчик не примет работу, а другие не смертельные. Все.
Не примет работу он если она не соответствует требованиям - раз, - это объективный критерий, и если он получил не то, что ожидал - два, - это субьективный критерий. Тестировщик должен понимать, что на кону стоит заказ, и клиент платит не за игру в слова, а за качественный результат. Задача QA быть глазами заказчика в его отстутсвие.
Для меня лично баг это проблема, которую можно устранить изменив код приложения. Хотя этимологически это неверно :)