The difference is as follows:
1] printf() is a function, whereas cout ios an object of class ostream.
2] printf() cannot be used to print user-defined variables, whereas using cout we can by using operator overloading concept.
3]printf() requires format specifier, whereas cout does not require format specifier.