This is an advanced topic. It would take pages to cover all the details. I will give a very short summary.
These suffixes are used instead the relative pronouns ´who´, ´that´, ´whom´, ´where´. Here are a few examples:
1. the places where we have been : gittiğimiz yerler
2. the dog that barks : havlayan köpek
3. the car which broke down : bozulan araba
4. the man who just run away : az önce kaçıp giden adam
Let´s take sentence three and look closer. To brake down is something that happaned to the car. It is a description or feature of the car. The pronoun ´which´ is connecting this feature to the car. Since we don´t have this pronoun In Turkish, we add a suffix to the verb. I think now you have an idea about when to use these participle suffixes.
-en is the noun participle. -dik is the past tense participle. And -ecek is the future tense participle. But these participles are not limited to any tense. They are timeless.
One thing that is easy about this topic is that the verbal adjective (the word that takes the suffix) is always before the noun it modifies.
You also wanted to know how to decide which one to use. This is a detailed issue. In general:
a) -an, -en is used if the noun it modifies is the subject of the verb in the relative clause.
Example 1:
"The dog that bit me, run away."
Here the relative clause is "the dog that bit me..." The verb in the reative clause is ´to bite´. The subject of this verb is ´the dog´. "To bite" should refer to this subject. Does it? Yes, it does because to bite is a description or feature of the dog.
"Beni ısıran köpek kaçtı".
First, find the verb in the relative clause . Then find the subject of that verb. If you are describing this subject then you can only use -an, -en. The other two participles are never used that way.
b) Generally -dik or -ecek is used if the noun it describes is the object of the verb in the relative clause. -ecek is used if the relative clause (not the whole sentence) refers to a future situation.
Example 2:
"A person that I don´t know died yesterday"
First thing we do is to identify the relative clause: "A person that I don´t know ..." You need to think this as "There is a person I don´t know". ´To know´ is the verb. ´I´ is the subject. ´a person´ is the object. So we use the -dik participle because it is not a future situation:
"Tanımadığım biri dün öldü."
Example 3:
"I received the book that you have send."
Relative clause: the book that you have send (think as "You have send a book.")
Verb in relative clause: to send
Subject of relative clause : you
Object of relative clause: book
The noun that is described in the raltive clause is the object of the relative clause. Therefore we use -dik participle:
Gönderdiğin kitabı aldım.
Example 4:
I have seen the car that you will buy.
Here the car is described as "the car that you will buy". This is our relative clause. Although the verb in the main sentence "seen" is not future tense, we use the -ecek because the verb in the relative clause is about a future situation and at the same time "you will buy the car" has the car as object. So -ecek is used.
This is only the half of the topic. So far we saw verbal adjective clauses. There are also verbal adverb clauses with the same suffixes. Examples: 1. İstanbul´a geldiğinde beni ara. 2. Hasta olduğum için işe gidemedim.
I don´t suggest to anybody to study these topics in detail. You will not learn it that way. When you need to build a sentence still you won´t be able to. My suggestion is, that you learn enough grammar to know roughly what is what and then read a lot.
I speak a few languages and I´m only 2 months into Turkish, so I can tell you that when you´re a learner, you want two things :
I´m working hard on grammar to do 1/ and I hope to go to Turkey soon in order to practice, but in the meantime, I only have the great TC forum and I´m trying to read articles online for 2/.
And this is where all the examples and explanations you gave are extremely useful.