I am a little confused about stealing… Can I steal a crystal before I move if the person is adjacent to me? And that I understand because I steal it and then run away with it. But say I run to someone and end up next to them. Then I steal a crystal from them. Does that mean before they move they simply steal it back from me? (In which case, what was the point of stealing from him?)

As the rulebook state on pg 8 (black box) you can steal from anyone adjacent at ANY point in your movement. So you can do both of what you described or even steal mid-move. Obviously running away after stealing is a advantage. If you dont have movement left over for this some abilities/cards (atleast one that i’ve seen but there may be more) also allows you to perform a extra dash after stealing (or use a DASH 1 potion in phase 3).

What exactly can be stolen? In the rules it says you can’t steal cards, but then there are cards that let you steal items or pets. Are those exceptions or are items and pets played beside your board aren’t considered “cards” for the time being until they are back in your hand? Apart from that I assume unless specificed in the scenario, everything but cards are considered things that can be stolen?

The steal effect refers specifically to stealing carried collectibles ONLY. This means crystals, sheep etc. Cards in-hand cannot be stolen except through the use of cards or abilities that specifically target cards in hand. Cards like rune of finding specifically allow stealing of items in pets IN PLAY from a specific range.