After watching the CBT nuggets, I decided to do some ROAS and setup my lab as follows.
PC1 (the laptop) config : (connected to switch via fa0/8 port)
IP :192.168.5.20
Subnet Mask: 255.255.255.0
Default Gateway: 192.168.5.1
PC2 config (connected to switch via fa0/18 port)
IP :192.168.10.20
Subnet Mask: 255.255.255.0
Default Gateway: 192.168.10.1
Switch (2950T) config
fa0/8 assigned to vlan 5
fa0/18 assigned to vlan 10
fa0/21 port was made a trunking port.
Router (1721) config (connected to switch via fa0/21 port)
int fa0
no shut
int fa0.5
encapsulation dot1q 5
ip add 192.168.5.1 255.255.255.0
int fa0.10
encapsulation dot1q 10
ip add 192.168.10.1 255.255.255.0
So basically PC1 can ping its default gateway, PC2's default gateway, PC2's IP address. PC2 can ping its default gateway, PC1's Default Gateway
BUT not PC1's IP address.
The strange thing is I emulate the exact same setup in packet tracer and it's working so I am really lost as to the cause of PC2 not being able to ping PC1's IP address in my lab setup (although it worked in packet tracer.)