Ok... I'm pretty sure the nether is out to get me. I built a nether portal at (213, 14, 295), and I hopped through. After exploring the nether for a while, I returned to my portal and hopped back through, expecting to see my house. To my surprise, I appeared at a separate nether portal at (75, 50, 325). I have no idea where this second nether portal came from. I destroyed the portal, and walked back to the one I made in utter confusion. Just to double check, I hopped back through my portal. Once in the nether, I jump back through the portal. Lo, and behold! I appear at a new portal nearby the one that was at (75, 50, 325), still in sight of the place the first mysterious portal was! What the heck is happening here?
This is most likely a rounding bug where the spawned portal in the nether, when trying to find a portal back in the over world, does the search but due to rounding and the 8 to 1 conversion rate, it will not find your original portal.
If you want a fix to this its the portal in the nether you want to destroy so that you can have it randomly generate a new one and give it a go. The problem is this means you have to hop to the nether, destroy the portal, store your gear and then die. When you go back into the nether your portal is going to be a bit of a ways away so make sure that wherever you store your gear it is -very- obvious to find it again.. Make sure you write down your coordinates and the like.
If hopping back into the portal to the over-world did not bring you to your original portal, it never will.
Please note that this rounding is potentially how to fast travel via nether hopping (hop into one portal and back out again to move 'forward' in the over-world).
Hope this helped.
Portal generation is a little odd compared to what many people assume it is. Portals are not assigned ID's where portal001o will always connect to the resulting generated portal001n. They connect to each other purely on the coordinate system.
Build, activate, and walk through a nether portal at coordinates X:-1547 Z:431 (we'll get into Y (height) a little later). When you step through, Minecraft will attempt to place a portal at the equivalent coordinates in the nether (based on the 8:1 ratio); X:-193 Z:54. However, considering the cavernous lava-filled nature of the nether, those coordinates are likely either solid netherrack, or a sea of lava. So minecraft looks outward for the closest ideal location to generate a portal. This new portal could be dozens or hundreds of meters away from the calculated equivalent coordinated. Let's say X:-93 Z:54.
Now you step back through to return to the overworld. Minecraft takes the coordinates of the Nether side of the gate, and then looks for an active OW portal at those coordinates multiplied by 8; X:-744 Z:432. It doesn't find one. Your original OW portal was 800m from this location. Further complicating things, the new OW gate it tries to generate is in the middle of an ocean. Meaning if you step through to the nether again, it can't even find your originally generated gate. Repeat ad nauseum.
To combat this behavior, before setting out through a newly activated Nether portal:
Once in the nether:
Your portal should now connect properly. Be aware, however, that before the game generates a new portal, it does look in an area around the calculated relative coordinates for an existing activated gate, meaning gates closer than about 128m don't really play well with one another.
Height, as far as I can tell, does not matter too much when trying to get two gates to connect (Although I've had some odd behavior above the old 128 meter height-limit). Given the choice between two otherwise perfectly aligned portals, the game will then compare the height value to determine which of the two it forms a stable connection with.