Some people think that universities should provide graduates with the knowledge and skills needed in the workplace. Others think that the true function of a university should be to give access to knowledge for its own sake, regardless of whether the course is useful to an employer.
These days, universities provide various courses which were taught by families earlier like tile fixing to makeup techniques. In spite of making such arrangements for everyone to learn these skills, some exceptional people believe that universities teach subjects only rather than focusing on real world use.
First of all, universities have to focus on whole class instead of a bunch of students. So, universities have to come up with a course material which can be grasped by a majority of students. Employers do expect a specialised skill from an individual. However, it is an unrealistic expectation from the universities to prepare each student as per the employer's requirements. Moreover, it is difficult for a student also to imagine the need for the real world and learn the subject without experiencing it. For example, you ask a student to write a program to handle the security threats on servers. It could be very difficult for a student to write such a program as there are many viruses which target only certain types of servers.
Another important area where universities focus is to provide the basic knowledge of the entire subject and let the students choose the job of their interest. For instance, computer engineering course teaches about databases, programming languages as well as hardware. It is up to a student to choose whether he wants to be a programmer developer or a database designer. It is certainly beneficial for the employers as well. If a fresher knows many subjects, an employer can train him on any subject as per the project requirement. For example, Infosys hires thousands of computer engineers every year in place of a Java certified students. Infosys can train computer engineer for testing or support department. However, it is difficult to train a java developer for web designing.
In conclusion, I believe universities are just doing the best what they could do to prepare a student for the upcoming opportunities and challenges.