Is software development engineering? If no, what are the things that it lacks in order to be qualified thus?
Software development does not have to be software engineering. I have a degree in Software Engineering and consider myself to be an engineer, however not everyone sees it that way, either as individuals or as organizations.
Wikipedia defines engineering as the application of "scientific, mathematical, economic, social, and practical knowledge, in order to design and build structures, machines, devices, systems, materials and processes that safely realize improvements to the lives of people." The end result of software engineering is a software system that can safely improve the lives of people, and it can involve some combination of scientific, mathematical, economic, social, or practical knowledge.
In terms of how it's viewed, academically and professionally, it varies. Software engineering programs can be accredited by ABET as engineering programs. Software engineers can be members of the IEEE. Some companies consider software engineering to be an engineering discipline, while others don't - it's a toss up, really.
The best book on this subject is Steve McConnell's Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers. It looks at software engineering as a profession, evolution from a craft to a profession, the science of software development, the difference between software engineering and software engineering (applying engineering practices to software versus engineers who happen to build software, with a case study that includes my alma mater), certification and licensing, and ethics.
Is that [CMMI] something that will turn development into engineering?
No. CMMI is a process improvement framework that provides guidance to organizations on what kinds of activities are useful when building software. Engineering disciplines typically have an engineering process. Having such a process is important for the successful completion of high quality projects. That said, the CMMI (or any other process framework or methodology) is just a single tool - using it won't make you magically advance from a developer to an engineer. However, not following some kind of process is, in my opinion, a sign of a project that is not an engineering project.
Also, what is your opinion on the software engineering courses/certificates?
It's only as much value as other people put into it. There are useful courses and there are useless courses. There are valuable certificates, and certificates that aren't worth the paper they are printed on. There are a lot of factors, from who is endorsing or accrediting the course or who is issuing the certificate to your current industry of employment to your current job and where you want to go.