The Hole is too big:
It could be that your pilot holes are too big. When the screw is inserted, the anchor does not expand enough to bite into the surrounding hole. Keep in mind that most plastic anchors are tapered, so you want them to fit tightly in the hole. If you can push them in too easily, then the hole is too big. Some plastic anchors have a slight lip (collar) at the end, to prevent the anchor from slipping into the wall. When drilling the pilot hole, it must be smaller than this collar. So the anchor will not sit perfectly flush with the wall, when it's pushed into the hole.
![enter image description here](https://i.stack.imgur.com/lOYSJ.png)
Material is not stable enough:
Another common problem is that the material you are putting the anchor into, is not stable enough to hold the anchor in place. This can be particularly problematic with older plaster. You install the anchor, then when you insert the screw the expansion of the anchor crumbles the surrounding plaster. This causes the anchor to fall out, since it's essentially being held in place by dust.
Items are too heavy:
It could be that you are hanging too much weight on the anchors. Drywall and plaster are not designed to carry loads, so applying too much weight to a single point will cause the anchor to come loose.
Items are too thick"
You may also run into trouble if the item you are attaching to the wall is too thick. If the screw does not penetrate the anchor deep enough, the anchor will not expand enough to hold it in the hole.
![enter image description here](https://i.stack.imgur.com/Mr9g0.png)
Material is too hard:
You can even run into trouble if the material you are putting the anchor in is too solid. If you put the anchor in a material that is too solid (2" steel plate), when you put the screw in the anchor may actually not be able to expand. This can cause the anchor to deform and break, and again fall out of the hole.
Wrong size screw: (Thanks Joe).
If the screw is too small, it will not expand the anchor enough to bite into the wall. If the screw is too large, it can damage the anchor and/or surrounding material causing the anchor to fail.
The screw is too long:
If there is a solid surface behind the anchor, using a screw that's too long could cause the anchor to pull out of the hole as you tighten down the screw. You'll have to remove the screw and anchor, then drill the hole deeper to fix this.
![enter image description here](https://i.stack.imgur.com/sqeM9.png)
Typically you would remove them, however the anchor you are using is marketed as a "stud solver" meaning that it can be driven into a stud. I think it is fine to leave them.
If you were using small plastic drywall anchors then I'd definitely remove them and drive a screw directly into the stud.
Best Answer
It depends on the type of anchor and the length of the screw, but I think you may have another problem.
Most drywall anchors rely on the screw to expand the anchor and secure it into the drywall. In these cases, if the screw is not into the anchor to an adequate depth, the anchor will not have sufficient purchase in the sheetrock.
With this said, however, if you are putting up a shelf that you plan to put any sort of weight on (books, etc.), sheetrock anchors are a very poor choice. You would definitely want the majority of your anchors secured into a stud.
If you must anchor to the sheetrock, then you may want to consider butterfly anchors (toggle bolts) rather than the screw in surface anchors. They will provide better support.