This problem usually has to do with the time/date settings being out of sync with the other machines.
It can also be caused by Ipv6 being turned off or the router being used is very old and can't handle the IPv6 protocol.
It's also important to remember that your machines need to have a
different name in order to see each other.
Another solutions is this.
1. Click Start. Search for run and press enter. In the field, type
regedit and press OK.
2. In the registry, navigate to the following key.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters]
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Services
\Tcpip6
\Parameters
3. In the right pane, right-click on “
DisabledComponents” and select modify. In the value data field, type
“0″ (without quotations) and press OK. If the value was set to ``FF``, it was turned off.
4. Reboot your computer and it should work. It did for me.
It's also important to note that just about any type of A/V software or third party firewalls can also cause this problem to occur.
If you are still lost you can try going through this thread which shows many different solutions to the problem.
Can't join Homegroup
This Homegroup check also has useful information to assist you in setting up your Homegroup.
http://helpdeskgeek.com/windows-7/wi...-to-homegroup/
This tutorial might also be useful.
Homegroup - Add Computer or Join