Do I need to run Stellar-core and horizon-server to conduct crowdsale ? if yes, Why stellar public horizon is not enough for this case (crowdfunding) ?
The public servers don't give you an SLA and depending on your case you may hit the rate limits:
In order to provide service stability, Horizon limits the number of requests a client can perform within a one hour window. By default this is set to 3600 requests per hour—an average of one request per second.