"improve" is used in the context of the level of performance of something or someone.
e.g. The lesson has really improved my language skills.
"benefit" is used in the context of contributing or adding something valuable to someone. A person receives or acquires a benefit.
e.g. The lesson has really benefited me. How? I can speak Spanish better now than before the lesson.