The main difference between казати and сказати is the aspect of the verbs. Казати is imperfective verb and is most often used in the present tense to show the ongoig action. If used in the Past it may refer to a repeated action. The verb сказати is a perfective verb which denotes a completed action, which happened once. Сказати as well as other perfective verbs doesn't have a present tense form.
Examples:
Я тобі казала - I used to say or I told you several times.
Я тобі сказала - I told you, I said
Я кажу - I say, I tell, I am saying, I am telling. (no present tense for сказати)
Я скажу тобі - I will tell you.
Говорити, розмовляти - speak, talk
Я розмовляю англійською. - I speak English.
Розповідати is more close to "narate".