First, let's look at how to tie in the yarn so that the last stitch looks seamless. The first step is to leave yourself enough yarn when you fasten off to be able to add your finishing touches to the piece. To finish off the last stitch you only need about 4-5", but in this case I have left about 18" because I am finishing the slip stitch join on every row as well (see below). Here's a picture of a hat worked in the round, with the last stitch joined with a slip stitch.
Draw the yarn through and pass the needle from the top down through the loop left from the last slip stitch worked and under the back loop of the second stitch of the round.
Draw the yarn through and either tie in the end or move on to the next finishing step. As you can see the last stitch now looks like any other stitch in the round.
Here is a picture of a hat worked in the round. Pieces worked in the round with a slip stitch join at the end of every round (rather than spiral) always have a visible break at every joining, shown here:
For double crochet pieces, you can close up these breaks by following these steps. First, leave a very long tail when you fasten off, about three times the length of the piece. Thread this tail onto a tapestry needle, and work on the back side of the piece. Thread the tail through the chain 3 at the beginning of every round as shown in these pictures.
In the first picture, you are working through the bottom of the dc to the left of the ch 3 and then through the middle of the ch 3.
Continue weaving back and forth like this for the rest of the rounds. Be careful not to pull the finishing yarn too tight or you will have gaps to the left and right of the dc you are working with.
Here is a picture of the hat after finishing. The end of each round is still visible, but it looks much smoother.
I hope this tutorial makes your finished pieces look that much more special!