While development, in which cases, should I prefer Left Keep over Left Join, assuming the fact that they produce same result set (though number of tables differ in data model)?
If you Join the tables, number of table hoppings would reduce and thus makes the front end performance better. On the other hand perhaps (not tested) Keep would vtake less time during reload in case of a very big data table in join question. Here to mention, in such performance issues ther is one more very effective way called AppyMap could be proven helpful.
The keep prefix is similar to the Join prefix. Just as the join prefix, it compares the loaded table with an existing named table or the last previously created data table.
But instead of joining the loaded table with an existing table, it has the effect of reducing one or both of the two tables before they are stored in QlikView, based on the intersection of table data.
Reference: QlikView Referene Manual
Its based on your requirement.
If you don't want to join with the parent table but "you need to reduce the data based on the parent table and do some action in your table". In that case, you can prefer keep.