Learning in this case generally means the creation of models. Optimization is the process by which this happens.
A few examples:
Unsupervised learning - typically clustering and grouping things
Supervised Learning - Example based learning where you're trying to label something. This could be sentiment, spam classification, object recognition over pixels, even extending to sequence labeling.
Prediction/Regression - Predicting values based on a learned function.
Learning is more about the goal trying to be achieved. Optimization is more of numerically solving relative to an objective function (also called an error function)
But I would say that learning is a higher level concept. So you would use an optimization algorithm to learn the solution for an SVM from data.
In the context of CS what's the difference between "learning" and optimizing?