Are push in connectors up to code?
I will not speak to the code issue as other already have. But, I did use them when building my new home a few years ago and, for me, they passed inspection.

While the package does say they can be used for stranded wire, I did not find that they worked that easily with stranded wire (I was using some computer controlled switches with pigtails instead of screws). But, they did work. I just had to twist the strands fairly tight first.

As far as coming loose? Not the ones I was using. If memory serves me correctly, I think there is a little hole that you can push the spring up with to release the wire because it is so tight.