What is the difference between てくる/ていく and 〜始める/〜続ける?


In my grammar book, it says that てくる is used in two ways:

1) It is used with verbs that indicate a process that takes time to complete
(e.g. 太る ---> 太ってきた = started to gain weight).

What is the difference between this and the 〜masu stem form of a verb + 〜始める?
Don't they both mean begin?

2) It is used with a non-punctual verb (I don't know what that is) to indicate
a continuation of sth. up to a current point in time e.g. 今までたくさん本を読んできました.

I don't understand the difference between using 読んできました and 読んでいました. In the
above sentence, 読みました (read/have read) seems more fitting than either of them
(Up to now I have read quite a few books).




「（私は）太ってきた」 means that you've got to notice you've gained more weight than
before and you are still gaining weight. The change already began. It has
attained a certain level, and is still proceeding.

「（私が）太り始める」just means that you started to get more weight, and you notice it
at an early stage. You've got just enough weight that you can notice the
change.

「今までたくさん本を読んできました」means that I've ever read many books up to now.

「来ました」lays weight on an attainment.

* * *

「今までたくさん本を読んでいました」means that I used to read many books up to now. This message
can imply now I can't read as many books as before for some reason. Or after
this message you can also say 「これからもたくさんの本を読み続けます」.

「いました」 lays weight on experience or custom.

