"We eat dinner on the boat."
Translation:Vi spiser aftensmad på båden.
It's mostly a size thing. Large boats are ships, and small ships are boats. I.e. a dingy would be a boat but never a ship. Hope this helps, although not being very clearly defined.
I was marked wrong for middag. Don't know if that's actually incorrect or if Duolingo just doesn't as yet recognize it as correct.
Middag should definitely be correct. It is even proper Danish and not just everyday lingo...