If you are using ICS, you will need to ensure that ports 22 (SSH) and 80 (HTTP), plus any other services you wish to make available, are being forwarded to your Raspberry Pi. This should be in the ICS Settings (near where you check the box to enable it in your network settings). You might have to define a custom service because I don't think SSH is listed by default. Just give it a meaningful name (like "SSH") and set the internal and external ports to the required port number, i.e. 22.
You should then access your Pi (over SSH, HTTP, etc) by using the IP address of your computer and not the Pi's IP address.
The reason for this is that when you enable ICS, your computer is actually creating a new network on the Ethernet side consisting of your computer and your Pi, with the computer acting as a very basic router. This is also why you have no issues when connecting from your computer - it sees both the Pi and the rest of your network and knows where to send the network traffic. To other devices on your home network (Wi-fi), you can only see your computer because the Pi is on another network it doesn't know about. The port forwarding rules help you around this by explicitly telling your computer to forward incoming traffic onward to your Pi (this is Network Address Translation).
The alternative network design you could set up is a network Bridge. This would make your Pi accessible to your home network by linking together the two network interfaces on your computer (Wifi and Ethernet), as opposed to ICS where there is a separate network on each interface.