This is more tricky then I first thought. I hope this is what you need:
In case the current entry
element is not the source of your relation, find that source entry first. This entry then goes into the relatedTo
parameter of a new ElementCriteriaModel, where we exclude the current entry
entry using its ID.
Code is probably more easy to understand than my wobbling english explanation:
<h1>{{ entry.title }}</h1>
{{ entry.body }}
{# Get `allRelatedEntries` if this `entry` is the "source element" of the relation #}
{% set allRelatedEntries = craft.entries.relatedTo({ sourceElement: entry }) %}
{# Get `allRelatedEntries` if this `entry` is the "target element" of the relation #}
{% if not allRelatedEntries|length %}
{% set sourceElement = craft.entries.relatedTo({ targetElement: entry }).first() %}
{# Any relations at all? #}
{% if sourceElement %}
{% set targetElements = craft.entries.relatedTo({ sourceElement: sourceElement }).id('not ' ~ entry.id).find() %}
{% if targetElements|length %}
{% set allRelatedEntries = targetElements|merge([sourceElement]) %}
{% endif %}
{% endif %}
{% endif %}
{% if allRelatedEntries|length %}
<h2>Related Entries</h2>
<ul>
{% for relatedEntry in allRelatedEntries %}
<li>{{ relatedEntry.title }}</li>
{% endfor %}
</ul>
{% endif %}