They are close synonyms. You can only "cultivate" crops. You can only "foster" children. But you can "cultivate" or "foster" e.g. growth, the development of sth, relationships.
If you are not sure which word is more natural in your context, I recommend checking example sentences in a monolingual dictionary and searching sentence databases like fraze.it. For example, I searched "cultivate crops" and there were 53 real sentences from news articles. I searched "foster crops" and, as expected, there were 0 sentences.