One building is selling at 3s7d, and the other is buying at 3s5d. It's a loss of 2d per item. There's no conceivable reason to want to conduct such a trade.
Guess it's a situation of:
A - the steel seller normally delivers himself, but set a price anyway in case a blacksmith owner didn't want to wait for it.
B - the blacksmith owner normally buys it himself, but a set a low buy price in case somebody really wanted to sell.
C - the blacksmith owner and a steel producer have a deal
D - the steel seller wants more money for his steel so is selling it for more but the blacksmith owner doesn't agree with the price change or doesn't know it changed..
E - somebody else has a forge that *is* selling steel for that much or for less then that.
Thus is stuff that happens in an economy without any rules or programmed restrictions to prices.
It is also possible that the blacksmith owner just doesn't know that's how much steel costs to make. Could be a newer player, could be the owners first blacksmith shop.
You'd have to ask the owners of both buildings and get them to tell you why there is a price difference. Answer could be as simple as 'because I want it like that', or you might get an actual reason. I've seen A and B performed many times by active players. C was also fairly common in past complex economies.
The other answer, particularly if it is badly set price, is to set up a blacksmith nearby that buys at 3s8d, and watch as all the steel flows into your building.. Your competitor will probably be broke or will adjust his prices soon enough.