The problem is that Revit only wants to join surfaces correctly IF they are the same material. You could go into each object (floor, wall etc) and make sure all the materials are the same. However, the quick fix is shown below:
- Use the Paint tool to apply the same material to the two faces you want to join.
- If you have already 'joined' the surfaces, you need to unjoin them from each other. With walls, the easiest way to unjoin two objects is to physically disconnect the wall using grips (I do this in 3D). Revit will give you a warning - and you can then Unjoin the elements.
- Now, pull the objects back together, so they are in the same plane and they meet at a clean edge.
- Use Join Geometry again between the two surfaces - now that they are the same material, Revit is happy to join them properly, and it all works beautifully!