I use a few things.
3M command strips with velcro for pictures. I usually use one in each top corner and one in the middle along the bottom edge. Have three or four 8x10 wood picture frames, just like you would use at home attached that have been to Florida and back to Cincy a couple times without so much as a wiggle. I checked them the first 2 or 3 times I took a trip and they have not budged or worked a little loose or anything.
3M command hooks for hats, and lighter items.
For heavier items, I use a 1 1/4" or 1 1/2" self tapping stainless steel screw. I use a stud finder and find a vertical wall stud to mount to. If it's something I will drive the screw all the way in, I use the 1 1/4". If it is something I need to leave a little of the screw head exposed, I use the 1 1/2".
I use these for coat hooks, our dirty laudry bag that hangs next to the bed, towel rack in the bathroom, etc.
If it is something heavy and I am mounting it on an interior wall, I use the little plastic wall anchors and screws, just like you would in dry wall at home.
All the above have worked for me without issue or anything coming loose or falling.
Lastly, they make a putty that wonderful for keeping things in place on counter tops. Comes in a little flat package. Gray in strips about 1" by 3" wide and the thickness of wrigleys chewing gum. Tear of a peice, roll it up in a ball and attach a couple balls to the bottom of your item and stick it to the counter. We use it for holding the toothbrush holder and soap dish in the bathroom and a utensil crock on the counter in the kitchen that holds all our cooking spoons, etc. Stuff is magic. Never moves but easy to pull up and leaves no residue if removed or repositioned.