In my opinion the only thing that will really rid the skin of hyper pigmentation is lazer treatment.I have spoken to many clients who have brown patches either on their arms,hands or faces and who have spent many pounds trying to get rid of them.
The only thing that I have seen really work well,is lazer,which targets excess melanin.It works by heating the melanin quickly,breaking it down into smaller pieces,which in turn is broken down by the body.
The skin will go scabby,crusty and it can take a while to fade but the final result is far superior to any other treatment I have seen in the forms of Glycolic peels,creams,lotions and potions.
I have a lady client who has spent £100's of pounds on trying to rid her arms and hands and finally they have faded as a result of lazer.NOTHING else touched it and believe me this lady has spent more than her fair share on the best quality products out there.
Brown spots,liver spots,age spots or hyper pigmentation can be caused from over exposure to the sun,HRT,contraceptives,pregnancy,sometimes it's genetic.Lots of reasons.
The best way to prevent it is by a good quality sun block that is topped up regularly(as per instructions)in both winter and summer.
Beware though,you will need to continue wearing sunblock after the treatment as it can return.HTH