Arduino IDE 1.5.x and 1.6.x hardware specification question

Arduino 1.5.x and 1.6.x hardware specification says that each vendor defines a hardware/vendor folder and then inside each vendor folder let there be avr and other architectures. Then inside each architecture one shall include not just boards.txt but also programmers.txt and platform.txt to specify what programmers etc.

So I read all these after I made a mod of my own based on Jack's mighty-1284p mod. I only had boards.txt in the avr folder and it works just fine. I am using Arduino IDE 1.6.0. So my question is, are these two files (programmers.txt and platform.txt) necessary if I am using the same programmers that are already defined by arduino? Why is it working if I have to specify these files but didn't?