I don't understand though what is the difference between using the raw code and actually using the real command, etc. itself?
I don't think you understand what raws are. They are sent from the server to you, not vice-versa, and they don't replace commands like /list.
When you do a /list, /names, /userhost, or almost all of the other IRC commands the response will come as a message with a numeric (this numeric is what is caught by a raw event in mIRC), for example a /list reply will be raw 321 (list start), 0 or more raw 322s (individual channel info) and a raw 323 (end of list). mIRC will process these raws to decide what to show in the channel list.
To see the data sent between you and the server open a debug window with
/debug @debug