In what cases must I use 了 and in what cases not?
In what cases must I use 了 and in what cases not?



You use 了 when you must indicate the verb is 'completed'
you don't need 了 when you don't need to indicate the verb is completed


From my answer to another post


  The verb particle 了 denotes the "completion" aspect of the verb
  
  
  经历風浪 = [going through crisis] (In this sentence, the verb 经历 (to experience) may or may not had been completed
  经历 (了) 風浪 indicates [the verb 经历 in "experience crisis" is completed]
  


One more example:


吃水餃 = eat dumplings (we don't know you are going to eat dumplings, in the process of eating dumplings or done eating dumplings )


The proof is 吃水餃 can be the answer for any of the following questions:

Q1: "你現在要幹什麼?" (What are you going to do now?)

A1: "吃水餃" (or 我現在要吃水餃)

Q2: "你在幹什麼?" (what are you doing?)

A2: "吃水餃" (or 我在吃水餃)

Q3: "你幹了什麼?" (What have you done?)

A3: "吃水餃" (or 我吃了水餃)


吃了水餃 = has eaten dumplings (we know the verb 吃 is completed, you have done eating)


It can only be an answer to Q3, but not Q1 or Q2

Even more example:

If you only say "做菜請客", it doesn't matter if you are in the middle of cooking or the cooking is done, the sentence would be correct; If you say "做了菜請客", it can only mean the cooking is done and the dishes are ready

This answer focus on the relationship between verb and the verb particle了.

了 as a final particle has other functions. It denotes a sentence has ended; indicating change of situation,  ; serve to soften the tone of a sentence; express different emotions in speech depend on pitch and tone