Monkey testing:
When you follow a method for which you have no preparation ( like testcases) and conduct testing by following steps (which are almost un-repeatable) then you call it a monkey tesing.
I tell you the word monkey is used because it can do some actions when you place some thing before it (we now have to consider a testing process) but if you ask to repeat it it may not be able to do it.
The word Guerilla is almost a replaceable word in this case. Dont be confused people are getting more wiser these days i have even heard a work like intelligent Guerilla .
Fault & Failure:
Fault is the action mistake which will lead to failure. If it is a software then the fault in the logic may lead to failure of the application.
To my knowledge these two words have a greater scope and you can define them in more than a way depending on the context which they are used.
Product & Service based companies:
Product based companies are those who take care of preparing the product according to the requirement and Service based companies are those who take of the service of the Products
Ex: Show rooms & Serviceing centers
Frankly speeking almost every company is a mixture of these things by now.