I want to create a website which does Bitcoin transactions, i.e. generating new addresses, receiving payments (that is, checking the balance of address) and signing + sending transactions.
Do I need to run bitcoind for this on my webserver? Or could I also just use scripts, such as bitaddress.org for generating addresses (but a server side variant, e.g. PHP) and similar for the other required tasks?
If I do indeed need bitcoind, do I understand correctly that I'd typically need a VPS or dedicated server for this, as hosting Bitcoin related stuff on a shared server is probably a bad idea, security-wise? (Besides, I guess most shared hosting won't even allow installing or running custom daemons like bitcoind)
it's all a matter of how much manpower and tx volume you have: if your tx volume is low, you can surely use an api for a service and it will work fine. in the case that the tx volume is high, you will likely see a benefit from having a local bitcoind, e.g. latency will be less likely to affect whether a given tx makes it into the current block. having a local bitcoind also gives more visibility into the tx submission process and allows you to rule out issues with someone else's software/site if problems arise.
you should not even consider running any service that creates tx on a VPS. if you are handling wallets and creating tx, you are likely handling the private keys for addresses and those could be stolen by someone who owns your VPS.