A balcony is always elevated and always attached to the side of a house or other type of building. It can never be on the ground floor, and it never sits on the ground or on top of any other surface. It always has a rail to keep you from falling off.
A terrace might sit on the ground or it might sit on the roof of a building. Sometimes a terrace isn't even directly attached to the house. A terrace is also usually large. If it's small, it might be called a patio.