Mini Guide:
How to Maximise Attack
STAB Attack. Same Type Attack Bonus - 50% extra damage.
If you have a Water Pokemon, using a Water based move gives you an extra 50% damage.
E.g if you have an Oshawott (water type) and use the move Water Gun (40 base damage), the base damage recieves a 1.5x bonus, making it equivalent to a 60 base damage move. Therefore, it pays dividends to use the same type attack as the type of the pokemon. Water + Water in this example.
Using a Pokemons strength.
Attack is split into Special Attacks and Physical Attacks. Some Pokemon have a high Attack stat, some have a high Special Attack. If your Pokemon has a naturally higher Physical Attack than a Special Attack it makes sense to pair this with the relevant Nature to maximise that attack stat. OR to raise speed without compromising the best Attack stat for that particular pokemon.
Physical Attacker, ideal Natures:
Adamant (Attack +10%, SP. Attack - 10%),
Jolly (Speed +10%, Sp. Attack -10%)
Special Attacker, ideal natures:
Modest (Sp. Attack +10%, Attack -10%),
Timid (Speed +10%, Attack -10%)
Example, Gyarados has a massive Attack and Low Special Attack as a neutral nature. Therefore to make the most out of Gyarados, you will focus on Physical Attacks and NOT special attacks. SO obtaining an Adamant or Jolly Gyarados is ideal. You would then want to teach it the best moves that have STAB and a Physical base, lets look at 2 Water based STAB attacks:
Surf is a water move with 95 base attack. it looks good as 95 is very high, it gets STAB bonus so its actually 95*1.5 but it runs on Special Attack.
WaterFall. it only has 80 Base Attack but still gets STAB being Water Type. And it runs off the physical attack so gets the full benefit of Gyarados's huge 383 attack. (plus waterfall can cause Flinching 20% of the time meaning you dont get hit back 20% of the time as long as you attack first and hit.
Other Pokemon might have a very high special attack, and so Surf would be better suited to them, for example Milotic has a higher Special Attack than Physical Attack stats, so you'd ideally learn more special attacks than physical to take advantage of its strengths. You wouldnt want an Adamant Milotic as it does not make best use of its natural stats. it is a defensive pokemon and would ideally be Calm or similar, so a nature that can -10% off Attack (it wont be using attack anyway) and get the benefit of an extra 10% in the Defences somewhere.
Type Coverage
Does that mean that you should load a water Pokemon with 4x water moves? Hell no.
Type coverage matters. See chart here:
http://www.serebii.net/games/type.shtml
Just because you have a water pokemon doesnt mean that you want to learn 4x water based moves with it. One is usually enough. The other 3 slots should be taken up by 'Coverage moves'. Find out what your pokemons weaknesses are. Then run a move that helps that pokemon to defeat a foe with opposite typing.
For example, Water type pokemon recieves 2x as much damage from an Electric attack as a standard attack. To counter this, we know that Electric type pokemon are weak to Ground based moves. So Give that Gyarados 'EarthQuake' - no it doesnt get STAB bonus, but it does leverage Gyarados's high Physical attack and can take out its main foe, the Electric type.
Using a combination of STAB, the right Physical or Special Attacks along with the right Nature will give your pokemon MUCH more punch. Give it coverage moves to protect its weakeneses.
Win.