The difference between the two codes may, very simplistically, be reduced to these areas:
The intent of the codes, as deduced from the code titles, is to apply to power and boiler external piping in the case of B31.1, and process plant piping for B31.3. In each of the codes, each makes specific exclusions in application or scope, which are intended to eliminate overlap between the codes' areas of applicability.
The reasons for limiting the intent of the codes lies in the inherent nature and economics of power plants versus process plants. The life of plant for power plants is 50 years; the life of plant of process plants is anything from 10 to 30 years. Because of the difference in investment periods, process plants would need to be arguably cheaper. In addition the proportional cost of piping in a power plant is much smaller relative to other disciplines like mechanical, mining and materials handling (in the case of coal fired plants) and electrical engineering. Therefore, B31.3 piping, in order to be lean and mean but still safe permits higher allowable stresses, larger variety of accepted piping materials, larger number of excess pressure incidents and greater distances between pipe supports.
During operations, B31.1 piping is exposed essentially to one fluid, albeit in different phases - water. B31.3 piping is exposed to just about any substance human kind can conceive of. Thus B31.3 includes for different categories of fluids and a more intense consideration of corrosion effects. Process plants are subject to batch processes, which means repetitive loading and unloading of the piping system, power plants are very costly to shut-down for any reason, therefore, ideally they would ramp up to production and stay there. Consequently B31.3 guides us to a more precise analytical examination of continual expansion and contraction and the resultant flexibility requirements.
I trust this explanation is sufficient.