There are several issues to consider here and some vary country by country but you will actually find that there are more similarities than differences.
You will find that from the perspective of actually running your business using a branch vs. a subsidiary does not make that much difference. Both can hire people, have sales, can be permanent, etc.
The main differences I've found (and this is for a software company so it could be different for a hardware company) are:
if you do a branch office you many countries will make you file the parents financial statements as public record. This is required in the UK, France, Finland but not in Japan so it is country specific. This may not sound like a big deal unless you have competitors that would very much like to see your financials and use them against you. If you have a subsidiary then you will only publish the books of the sub.
a branch may not have liability protection for the parent and it will be easier for someone in the foreign country to come after the parent for bills or other legal remedies.
The main issue you have with operating in another country is whether you have created a permanent establishment (PE). If the parent creates a PE in a country then that countries tax authority can look at the parents books and try to allocate how much of the profit of the parent they think belongs in their country and therefore how much tax you can pay. As you can imagine it can be quite hard to have foreign tax authorities going through your US books.
Because of this the primary goal in having a foreign entity is to NOT create a PE in that country. This requires you to place some limitations on that entity such as limiting what authority the entity has to negotiate contracts. Most of these limitations are pretty easy to work around.
If you do not create a PE then the subsidiary or branch will just keep it's own books and will determine how much tax it will pay based on it's books.
A document I found that explains more on PE's is: