What is the difference between 保持, 维持 and 维护?
保 = maintain; guarantee; 持 = hold ; [保持 = to maintain; to keep ]
维 = maintain; safeguard; 持 = hold ; [维持 = to maintain; to keep ; to safeguard]
维 = maintain; safeguard; 护 = protect; [维护 = to protect]


When it means "maintain" or "keep" 保持 and 维持 are interchangeable

Example: 

保持良好治安 = 维持良好治安 (maintain good level of public order)

保持平衡 = 维持平衡 (maintain balance)


  I know you can say 维持治安, but not ie. 保持治安


It is because 治安 only means "level of public order" It can be good or bad. "保持治安" (maintain level of public order) doesn't specify what level of public order is being maintained; while "维持" has the meaning of "to safeguard" therefore "维持治安" (to safeguard level of public order) strongly implies   the level of public order is being safeguarded is high -- We safeguard the level of public order only when it is high.  

As my examples indicated, if the level of public order is specifically stated, e.g. "良好" (good) then you can use either 保持 or 维持

Also indicated in my example, 维护  means "to protect"  "维护治安" doesn't need to specify what level of public order is being protected --  We protect the level of public order only when it is high.