Deep dreaming (what you don't remember, usually) is memory/behavioural error checking, meaning that when you're dreaming your brain runs a sort of “groundhog day” simulation thus compounding the effect of the day's learning, for example if you burnt yourself on a stovetop you'll re-live the experience over and over in a single night of dreaming thus imprinting a behavioural modification into your neural net, i.e. don't touch hot stovetops. Memories are sorted into long/short term memory by the same trial-&-error validation principal, for example if you meet someone new during the day you'll more than likely learn their name and use it more than once, thus after the “groundhog day” dreaming cycle their name will be firmly imprinted onto your mind, unless you only heard their name in passing in which case you'll probably have forgotten it.
Now wakeful dreaming (stuff you can sometimes remember) is something different, that's when your subconscious thoughts/feelings/creativity surface into your semi-conscious mind, thus creating the almost nonsensical experience of dreaming we all know and love to talk about, although if you're an unhappy person these dreams will be nightmares, think of it as self psychoanalysis, although random nonsense is also a valid viewpoint.
Lucid dreaming is when you realise you’re dreaming while in a wakeful dreaming state, don’t get too excited about it, the feeling of clarity and control is more delusional than actual. There’s something that I can only describe as a one way barrier between the conscious and subconscious, more inherent to the nature of the mind-system than an evolved safeguard imo, either way it stops you from messing with things you shouldn’t be, for example your heartbeat, although I wouldn’t rule out the possibility of being able to stop your heart if you can somehow coax your subconscious to doing it for you.
As for the minds supposed limits, well there’s a operational capacity of course, one you can expand upon by relaxing your body and thus freeing up neurons otherwise occupied with muscle control, then there’s various means of systemizing information into a abstract format, like language for example, thus allowing you to do more with less, i.e. it’s a lot easier to think about 100 if you use the word instead of imagining 100 dots in your mind.