Image classification is the simpler one while automatic image annotation is far more complex but this is dependent on the scale. Image annotation requires mainly a larger scale than does image classification.
In image classification the systems purpose is to map a given image to a limited set of class labels which can be used to control robots or other systems. Image classification is just a mapping process from one vector representation, the source image, to another vector representation, the output vector.
Image annotation on the other hand requires more than just mapping. Annotations can be complex such that the system requires a very rich vocabulary and be intelligent enough to use that rich vocabulary properly.
Thus automatic image annotation is very hard compared to image classification. Automatic image annotation can use several image classification pipelines in conjunction with other AI systems in order to work successfully.
Then another thing worth noting is that in image classification the goal is to identify content not to add metadata or to caption digital images, this is the goal of image annotation.
The biggest difference between in these two is image classification is usually an automatic task performed by the computers, while image annotation is manually done by the humans to label and annotate the images with recognizable tags.