To be fair, despite things, Barclay ain't exactly useless. It's likely that's what kept him on board for so long, until evetually he was transferred. It's not like outside of standard regulations it has to be mandatory to be a certain way, now is it?
Barclay was extremely talented and intelligent, there's no doubt about that. Where I (sarcastically) mention Picard throwing Barclay off the ship was mainly in that the Enterprise was
THE flagship for the Federation. It was the creme de la creme meant for Starfleets best and brightest. It's hard to see that Barclay with his multiple performance issues (both late for and skipping shifts, severe and regular relapses into holo addiction, making holo models off of his crewmates, without permission, with some hint that he was sexually involved with Troi in his holo programs (which got Quark into trouble on DS9).
I love the character of Barclay, don't get me wrong. He's a super fun character, although his constant relapses did grow tiresome. He is a great character and the only reason Voyager was able to get home. But in the real world, he would have been thrown off the ship very early on.