store() stores a file with a hash of the file name vs storeAs() allows you to control the file name. Both are on the UploadedFile object (which lives in your /tmp folder or wherever PHP tells temporary files to live). Using these methods takes a file from its temporary location and stores it in your App's "storage" system of choice (by default, the storage/app folder)
move() is for existing files within your Storage system to move from wherever it is now to wherever you want it, preserving the file name.
So, use storeAs() or store() when you are working with a file that has been uploaded (i.e. within a controller), and move() only when you've already got a file in the system to move it from one location to another.
I hope this helps. (Sorry for the man updates, trying to make it clear as possible)