1. Is the notification extension a default project or the code files are added manually and how to add notification extensions in my project?
2. I have to implement tile notification so what all files should be added in the project for the same and I guess the sample app for notification is quite generic so what should be added exactly in the code for tile notification.
The NotificationExtensions project is included in that sample. It isn't a standard wizard template (although you could create a template for it). You should be able to copy the project files into your own solution.
You do not need to use those extensions to send notifications, but they can make building the XML a bit easier.