Objects are the building blocks of programming in an object-oriented language such as Objective-C, providing the means by which data is stored and moved around. Messaging is the process by which objects talk to each other to move data around and make things happen. A deep understanding of how both of these features work is crucial to building efficient and maintainable code.
The Objective-C runtime is the code that powers the language once an application is running. The runtime provides the crucial functions that enable messaging between objects to work and all the logic behind how instances of classes are created. Understanding how all this fits together makes you a better developer.