Bread flour is a high protein flour that is intended to be used in yeast breads and designed to give you a better result in those breads than you would get with another type of flour. The high protein content means that the flour has more gluten in it. The increased amount of gluten allows doughs make with bread flour to be extremely elastic, and that elasticity leads to a lighter and chewier yeast bread. It is occasionally called for in non-bread recipes when a chewier texture is desired, but this is not very common.
All purpose flour is the most commonly used flour (here in the US; some countries just have “plain flour” with a similar purpose). The idea behind all purpose flour is that it is good for most purposes and you can use it for baking cookies, baking cakes, making pastries and making breads. Most of the time, all purpose is a good choice, but those specialty flours – such as cake flour, pastry flour and bread flour – can definitely deliver a better result when they’re called for in a recipe.
It can be difficult to create a substitute for bread flour if you do not have bread flour but a recipe calls for it. The best way to substitute for bread flour is by adding a small amount of vital wheat gluten (which is just pure protein/gluten) to all purpose flour to increase its protein content. Remember that a higher protein content will lead to a more supple dough. If you directly substitute all purpose in a recipe that calls for bread flour, you may end up with a bread that doesn’t rise quite as well or has a slightly more crumbly texture than it would otherwise have. Fortunately, bread flour is very widely available at most supermarkets, so it is easy to have on hand if you regularly bake yeast breads at home.