SEO is not a fixed science to have X number of techniques.I can divide into 3 technique:
-> What we should do : White Hat
-> What else can be done : Grey Hat
-> What we should avoid : Black Hat
There's a number of techniques and trick we can do in each one of these categories, but it actually depends on the website and the business it is in. What I mean to say is that SEO is a customized solution, there's no holy grail that "One fits all" type.