I stayed in St Thomas and ferried over to St John a couple times. St John is a little safer. If you see someone hitchhiking or holding up one finger, it means they'll give you a dollar for a ride and you can pretty much pick up anyone there. The locals are just a bunch of peace loving burnouts. St Thomas is a different story, though. I carried a knife on me there.
I had a woman dressed in a Salvation Army uniform call me a "son of a bitch" because I wouldn't give her a dollar. I thought about knifing her and pushing her in the water, but didn't. She was probably about 90 and looked like a prune.
I stayed on main street, not in a resort, so I got to see real life. I have pictures of bums following people around and fishing stuff out of garbage cans when they throw it away. It's a really poor couple of islands outside the resorts and they literally padlock everything at 4:30 when the cruise ships pull out. I was one of 4 people in a 3-story Hard Rock Cafe at 6:30pm. Most everything except a few restaurants close down at 5pm.