There are a few ways on how to become "rich", but, for most people who aren't willing to jailbreak or hack, they want it quickly and generally without much effort. There are two ways to do this:
Grinding is when a player will play missions continually, without stopping, or if so, rarely. They may do this for two hours straight. Let's take a look at the advantages and disadvantages:
1) Can generate a lot of gold
2) Feels rewarding upon getting a large amount
1) You have to be patient, as it takes a long time if you want an expensive item.
2) It is boring. Very boring.
So, by judging on the effects of grinding, we can conclude that out of an effetciviness scale (1 being terrible, 10 being extremaly effective), it sits around 6. The advantages outweigh the disadvantages, but if a player can conquer them, they it is effective.
What level should I choose? Find a level that is easy, but effective. Your better off sinking the Yamato on night battle level three (3500 gold) for one hour than spending 2 hours doing the Andrei Pervozanny (1000 gold).
An In-app Purchase is when someone pays real money in order to get gold. They can get teh precious rare metal form this. Let's take a look at the advantages and disadvantages:
1) Very quick and easy
2) It's not boring
2) Not rewarding
Overall, on our scale, this sits about a 4. The reason for this is that why spend real money when you can get the same thing by doing missions? But that'd be contradiction, for your countering the disadvantage of grinding.
To summarise, if you feel like you can wait, and don't mind the boredom, then grinding is for you, however, if you can't be bothered waiting, or you just want rare metals, go ahead and buy them.