Here are instructions on how to build a good looking ship in Minecraft. It has two masts, a cabin, a lookout post, and a hull (bottom part of the ship).
Step 1: The Bottom of the Ship
First, make a 15 block long strip, and cover it with a three block wide strip of the same length. Then, make two strips on either side of the bottom of the ship. Then, starting at 6 blocks down from the front (front is the side that the picture is taken from), widen the ship 5 blocks long.
Step 2: The Front of the Ship
Now, you want to build the front "pointy" part of the ship. Build two blocks out on the floor of the ship, then on either side one block up, build two more blocks out. Then, a single block in the front of the of the ship.
Step 3: Building the Ship Up
Now you want to start building the ship to be higher. This will require a bit of work, but it is almost the same thing the whole way, except the front, which is pretty self-explanatory. You will not require any extra instruction here.
Step 4: Building the Deck
Now, you want to build the deck. First, you need to make the floor of the deck. Then, add a railing, and at the part where the ship widens add a gate.
Also, this is optional, but you can create any sort of design you want for the front "point".
Step 5: Cabin and Hull
You will now have to remove all the fence behind the center of the ship (where the ship widens), and build the ship shown above. Then, build up from that two blocks, leaving a place for the door. Make the ceiling out of slabs. You can see the slabs are on the upper part of the block which they are touching. Then add a door. The inside of the cabin is entirely up to you.
On the inside of the cabin, add ladder leading to the roof of the cabin. Put fence all around the top of the cabin. Finally, add some cobblestone wall on either side of the back of the cabin roof as shown above. Also, if you want, you can create a "steering wheel" on the roof of the cabin. It can be a sign with a pattern, if you want. Or it can be an item frame holding a compass.
Step 6: Adding Details to the Back of the Ship
Now let's spruce up the back of the ship. You can create a nice stair pattern by making upside down stairs pointing away from each other, and a single stair in the center pointing away from the ship. Then, add some blocks on top of the stairs, and top it off with some more stairs.
Step 7: Hull
This is an easy step. Four blocks away from the entrance to the cabin, build a 3x3 fence thingy (what would you call it??). Then, remove one of the blocks and place ladder all the way down to the bottom of the hull.
Step 8: Masts
Now you want to create two masts on the deck. Make one pillar nearest to the cabin 14 blocks high, and a second smaller pillar 6 blocks in front of the first pillar. Make it 10 blocks high. Now, you want to build the sail on the smaller mast. Make it go out three blocks as shown above, and of course one block in the center. Then, for two blocks, make wool go up as shown in the picture. Finally, top it off with a single strip at the top of the mast. The second mast is very similar, so no explanation is needed. When you finish the sail, you should build the mast two blocks higher. Then build blocks surrounding the top of the mast, and put "rails" (fence) on it. In the center, put a trapdoor, and add ladder going all the way down.
Step 9: Details
Now you want to add upside down stairs on the underside of the ship. These are all aesthetics, so you don't have to add these. I think it makes the ship look a lot better. Most of the pictures only show one side of the ship, but you should built it the same on both sides of the ship.
Step 10: Done!
That's it, you now have a very nice ship in your Minecraft world. I recommend building a dock, and a dockhouse near it. If you use a mod called "Archimedes' Ships", you can move the ship too! If you do use this mod, you will have to go into the config of the mod and enable edge touching blocks. If not, a lot of your ship will be left behind.