Mixed bag of questions wherein i need some more clarity...would be really nice if someone can guide here?

Being new to K8, I am few doubts wherein I think I need more clarity. I have listed all the doubts below, would be helpful if someone can guide me here

Question 1: Individually, I guess I understand commands such “kubectl Create”, “kubectl apply”, “kubectl expose”, “kubectl edit”…but I am not very confident on how to pick the right command to solve a particular issue. Can someone please advise the best approach/ tips & tricks to use these commands?

Question 2: In few commands --dry-run=client doesn’t seem to function at all. Is there some kind restriction or list of scenarios wherein --dry-run cannot be used?

Questions 3: Another mistake that I am doing frequently is using “lower case” vs “Proper case” in my commands and YAML files.
Once again, do we have a set of guidelines or protocol on how to use it properly?

Question 4: When I export the existing object config to a new YAML file (for example: Using -o yaml > object.yaml), I find that my YAML file has a good number of unwanted lines and it takes a bit longer for me to scroll through/navigate to correct line to fix the issue?
Whereas, the YAML file generated in the solution video has only desired lines. I am not sure what am I missing here? Can someone please guide here?

Question 5: My understanding is YAML has two possible extensions, “.yaml” and “.yml”. The first one i.e “.yaml” is all good with me whereas with second one i.e. “.yml” i am unable to run all commands at times…unless I change it to “.yaml”. Please sugges the best approach to follow here