I have worked for companies that do use their own systems and ones that don't. I have found that everyone has their own idea of how the system should work. And they aren't always the same. Even after the site has been tested and retested, there is always someone who says, oh that's not what I meant. I meant this.
I do use a system that a client built, and I have found more bugs than they have. I have often teased that I should bill them for every bug I find. But I also realize that they test it the best that they can and sometimes things come up. We are all human and we are bound to make a mistake or two.
The biggest bug I ever found was when I worked for a physicians group. We were using software that another company had written. It was the fiscal end of year which ended June 30th. I ran my reports and discovered we were off by $34.50. My boss was very upset and demanded that I fix it. I tried everything I knew and I came up with that we were off by the cost of a flu shot. My boss wanted me to call the company and have them help me fix it. Of course it was 4th of July weekend and the company was off Monday the 3rd even though we weren't. I called Tech Support and my call was answered, but there was literally no one around to help. My boss didn't take that answer and eventually the VP of the softward company called me from the golf course. I explained that my boss wouldn't back off. The VP ended up talking to my boss who at that point was at the verge of firing me. We all came back Wed morning and a developer called me and they had it fixed by lunch. It was a bug that no one would have forseen unless they had set up the reports exactly as I had set them up.
Sometimes there are too many if, ands, or buts to figure out every possible way that a user might use the system. Even with a Quality Assurance Team, things still get out.