Uploading files in Firebase involves the user selecting a file, then the app creating a storage reference to specify where to store the file. The file is uploaded using the put method. During upload, the state changes from none to uploading, and finally to success if the upload completes. After a successful upload, the app retrieves the download URL to access the file. Variables like 'file', 'storageRef', 'uploadState', and 'downloadURL' change their values step by step as the upload progresses. Beginners often wonder why a storage reference is needed, what happens if upload fails, and why the download URL is retrieved after upload. The execution table and variable tracker help visualize these steps clearly.