To be exact, both the [ITEM_THIEF] and [BABYSNATCHER] tokens in a civilization will cause your fortress to be in a constant conflict with them as they send thieves and baby snatchers, but aside from them sending thieves and baby snatchers out in world generation, it has no other effects like in fortress mode and most of the time goblins are at peace with other civilizations. Then as a correction to Niddhogger, goblins never send caravans if friendly as they have no pack animals as the only animal they have is trolls which can't carry goods. If they were then given pack animals then they would also bring caravans every season not just winter, like how they can siege in every season. I really have no idea why that mistake is still on the wiki, I might just go and fix it right now.
Yes the item thieves and babysnatchers operate 'independantly' of the main civilization and their hostile operations are quite seperate from the wars, which happen entirely according to ethics. I am not sure about goblins theoretical caravans, I simply modded my goblins to have winter as their active season since it makes poetic sense, since they are the 'harsh' and 'cruel' aspect of nature.
You don't need an ethical difference to have a war. Land, resources, or an unfortunate accident event may also spark conflict. I think the first two (grazing area, trade dispute) are already in the game.
Wars I think happen in the game according to a invisible relationship bar that is initially set according to ethics. When wars happen in the game they are attributed to a suitable cause, there is not neccesarily any cause so we can end up with "the cause of the war is much debated".
The reason I think the game tracks diplomatic relationships is that wars between civilizations tend to cluster during world-gen, suggesting they are a non-random event and the amount of warfare reduces as time goes on (although there is always a sudden spike in warfare once world-gen is finished).