By default, the emulator will use the directory it is being launched from as the "current SD" content. There are ways to override that (using command line), but we'll suppose most people are just going to click the x16emu.exe and go from there.
To list possible files that can be loaded, just press F7. Or type the DOS"$ command
If you have a lot of files in that folder, you can hold CTRL to slow down the listing. Otherwise, it is a bit of a pain to only do a partial listing (you can use the STOP key) - the KERNAL is compact and doesn't have provision for nice features like sorting or filtering your directory listing for you. In general that wasn't an issue in the past, we just never really had that many files on a 160KB disk to begin with (and were limited to 25 row systems then; the X16 gives you 60 rows, such luxury! but if it's hard to read you can use the SCREEN 1 command and see how 30 rows works for you).
There is no formal operating system and so extensions don't really mean anything. At the end of the listing on the right, it will say PRG or DIR. DIR are directories you can go into (and there is the implied . and .. for current and previous directory, like in modern systems).
HISTORY NOTE: Some of the first versions of PC-DOS and some late 1970s operating systems, they didn't even have sub-directories yet and the number files were altogether limited to sometimes only 32 (or some multiple of 2) even on very early mainframes! So, having sub-directories at all is a luxury!!
Besides "DIR", X16 CMDR-DOS is going to basically list all non-DIR files as PRG's - which is confusing, but that's just the convention Commodore started. The file MIGHT actually be a PRG, or it might just be a data file. As a convention, most people will mark data files as .DAT or .BIN, but it's not a guarantee. And sometimes there is "no extension" - like modern day Linux style, you must just see "SOMEPROGRAM" or "SOMEPROGRAM.PRG" and either can be loaded and executed.
There are no "file" or "directory" permissions - the only security back then was a punch in the face if you messed with other peoples files, or of course take your disks of files with you.
Executable programs don't even have a header, like modern day MS-DOS EXE files (start with "MZ"). So the system can't even probe the file to try to figure it out for you. This is all pre-protected mode era, the line between Code and Data is very blurred.
The only multi-tasking is that blinking cursor - which is actually doing more than just blinking. It's also monitoring your keystrokes to. If you press RETURN, a slew of activity happens - as the KERNAL ROM starts to parse the current line as a command. Someday when really bored, look up the history of who invented the idea of the blinking cursor
This question of how to run things: a useful program might be something that opens every file, looks at the first two bytes, and tries to determine if it is a "valid address." Now nearly anything from $0000 to $FFFF is a valid address - but no program is going to start at $FFFF, nor start in the ZeroPage region - since that'd just be rude. As mentioned, all BASIC programs will start $0801. And for practical reasons, there are only a few regions that "normal programs" would generally started at. Taking it one step further, it could look at the third byte into the file and determine if it is a valid 6502 opcode (it would have to probe a little further to examine operands) - making an even better guess on if it's an executable file versus a data file. Then do a little summary of "Probably a BASIC program" "Probably executable Code" etc. Food for thought....